mysql:A表:name1,nameidB表:name2,idA表的name1有值,和B表的name2对应。B表的id也有值。现在要拿到name1和name2相等的B表的id的值赋给A表的nameid 的sql怎么写呀?谢谢
你需要保证B表的name2没有重复值,或者即使有重复,name2所对应的id应该是相同的。那 update A set nameid = id from B where A.name1 = B.name2 应该就可以了。或者这样: update A set nameid = (select id from B where A.name1 = B.name2) 缺点是会把在B中查不到name1的A.nameid置为null。
你需要保证
B表的name2没有重复值,或者即使有重复,name2所对应的id应该是相同的。那应该就可以了。或者这样:
缺点是会把在
B中查不到name1的A.nameid置为null。