使用JOIN INSERT INTO第二个表,并将相同的Id列作为第一个表

时间:2016-04-30 22:32:54

标签: mysql

我有一个数据库(MySQL),它包含两个具有相同主键的表,我已经将数据插入到第一个表中,但我想稍后将数据插入到第二个表中。

我得到的逻辑是:

[INSERT into Table2 (col1, col2, col3) Values (X1,X2,X3)  WHERE Table1.id equals Table2.id] 

对于与PHP一起使用的Insert语句,我似乎无法找到任何类似的功能。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

听起来你真的想要更新第二个表,而不是插入它。 INSERT用于创建行,UPDATE用于修改现有行。

您可以在JOIN声明中使用UPDATE来完成此操作。

UPDATE Table2 AS t2
JOIN Table1 AS t1 ON t1.id = t2.id
SET t2.col1 = t1.x1, t2.col2 = t1.x2, t2.col3 = t1.x3