需要MySQL查询来从table2更新/添加记录到table1

时间:2013-04-01 11:41:17

标签: mysql sql sql-update

如果table2中存在数据

,我希望MySQL查询更新/添加table1

如果table1中不存在记录而不是添加记录(来自table2) 否则更新它。

提前感谢你。

2 个答案:

答案 0 :(得分:0)

IF (EXISTS (SELECT * FROM table1 WHERE <condition>)) 
begin 
UPDATE table1
SET <specify new value>
end
else 
begin 
INSERT INTO table1
SELECT <column list> from table2 where <condition>
end

答案 1 :(得分:0)

您可以使用以下语法将table2中的所有条目复制到table1,假设ID是表的主键:

INSERT INTO table1 SELECT * FROM table2 WHERE ID NOT IN (SELECT ID FROM table1);

Update-Query不是那么通用:

UPDATE table1 SET <COL>=(SELECT <COL> FROM table2 WHERE table1.ID=table2.ID);

您必须为表格中的每个列执行上述更新查询。