0

我有两个表,其中某些行需要在不同时间同步。

在保留两个表的主键的同时将行从一个表复制到另一个表的最干净的方法是什么?

目前我正在使用下面显示的两个查询,但我偶尔会遇到这样的错误:Duplicate entry '465' for key 1

DELETE * FROM t2 WHERE instanceID='10'

INSERT INTO t2 (SELECT * FROM t1 WHERE instanceID='10')
4

1 回答 1

0

ON DUPLICATE KEY SET当存在重复时,使用该子句复制列。

INSERT INTO t2
SELECT * FROM t1 WHERE <condition>
ON DUPLICATE KEY UPDATE col1 = t1.col1, col2 = t1.col2, col3 = t1.col3, ...
于 2013-04-26T16:09:27.283 回答