1

如果表 2 中存在数据,我希望 MySQL 查询更新/添加表 1

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

提前谢谢你。

4

2 回答 2

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
于 2013-04-01T11:47:35.577 回答
0

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

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

更新查询不是那么通用:

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

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

于 2013-04-01T11:55:35.523 回答