我试图将一个列中的一个列相当简单地更新到另一个表中的同一列。
我有两张桌子:
容器(id,barcode_1,位置)
测试(id,barcode_1,位置)
除了barcode_1列之外,两个表都完全相同。我想在所有匹配的ID上使用test.barcode_1中的值更新container.barcode_1。
这是我使用的代码:
update container
set container.barcode_1 = test.barcode_1
FROM container INNER JOIN test ON container.id = test.id;
当我运行该代码时,我收到此错误:
错误代码:1064。您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在#container; FROM container INNER JOIN test on container.id = test.id'附近使用正确的语法。在第3行
为什么这可能失败的任何想法?
答案 0 :(得分:1)
此处UPDATE
语法错误。它应该是
update container
INNER JOIN test ON container.id = test.id
set container.barcode_1 = test.barcode_1;
(OR)使用表别名
update container c
INNER JOIN test t ON c.id = t.id
set c.barcode_1 = t.barcode_1;