我有2个表,我需要使用table1中的列更新table2中的列。 table2.id2为空,我必须使用table1.id填充它。此外,您必须知道我在这些表中有2列可以相互匹配(table1.code
和table2.code
)。这是我的SQL:
UPDATE table2 SET table2.id2 = table1.id WHERE table2.code = table1.code;
这个查询对吗?我收到此错误,而我确定table1.code
存在。
[Err] 1054 - 'where子句'
中的未知列'table1.code'
答案 0 :(得分:1)
假设您可以使用代码
加入两个表UPDATE T2
JOIN T1 ON T1.CODE = T2.CODE
SET
T2.ID2 = T1.ID
WHERE
T2.ID2 = '';
答案 1 :(得分:0)
不能那样工作。
拿这个:
UPDATE table2 SET id2 = (SELECT id from table1 WHERE code = 'somecode') WHERE code = 'somecode';