sql UPDATE几行

时间:2018-07-15 19:20:56

标签: mysql sql

我有2张桌子: 表1(条目,x,y) 表2(输入项,x,y)

我想更新Table1.position1,将其= Table2.Position1,其中条目相同(两个表中都有不同的条目,但有些相同)

所以我尝试做的事情:

update Table1 SET Table1.x = Table2.x where Table1.entry=Table2.entry;

但是出现错误:

Unknown column 'Table2.entry' in 'where clause'

因此,我尝试执行另一个查询:

update Table1 SET Table1.x=(select x from Table2) inner join Table2 on Table1.entry=Table2.entry;

但是再次出现错误

  

您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ inner join Table2 on Table1.entry = Tab”附近使用

Google中的任何答案都没有给我令人满意的结果,所以我希望有人可以提供帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

MySQL中的语法为:

update Table1 t1 join
       Table2 t2
       on t2.entry = t1.entry
    set t1.x = t2.x;