SQL复制表列内容到由条目分配的另一个表列

时间:2016-12-20 17:38:55

标签: mysql sql

我有2个带colums的表

id    toadd
1      0
3      0
4      0
7      0
id    x    y    z
1
3
3
4
5
6
7

我需要将id从第二个表移到第一个表中的相应id。它应该导致类似:

id    toadd
1      1
3      3
4      4
7      7

我尝试过类似的事情:

INSERT INTO table1 (toadd) 
SELECT id FROM table2 
WHERE table1.id = table2.id

1 个答案:

答案 0 :(得分:0)

您需要使用UPDATE而不是INSERT来修改现有行。 INSERT仅用于添加新行。

要将其限制为仅在两个表中具有匹配ID的行,请使用JOIN

UPDATE table1 AS t1
JOIN table2 AS t2 ON t1.id = t2.id
SET t1.toadd = t1.id