从脚本更新中的SQL语法错误?

时间:2015-09-09 15:38:55

标签: mysql syntax-error

我试图将一个列中的一个列相当简单地更新到另一个表中的同一列。

我有两张桌子:

容器(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行

为什么这可能失败的任何想法?

1 个答案:

答案 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;