我有两个表 - Table_1和Table_2。
它们具有相同的列 - Col1,Col2,Col3,Col4(整数)。
Col4 value for all Table_1 rows is 1.
Col4 value for all Table_2 rows is 2.
我将Table_2行插入Table_1。
Table_1和Table_2有一些基于Col1和Col2的重复值。我需要保留Table_2值并删除Table_1重复值。
例如:
Col1,Col2,Col3,Col4
1) a ,b ,c ,1 (From Table_1)
2) a ,b ,d ,2 (From Table_2)
我尝试了以下内容 -
ALTER TABLE Table_1 ADD UNIQUE (Col1, Col2);
它删除了Table_2值而不是Table_1值。
如何解决这个问题?
答案 0 :(得分:1)
在col1,col2上放一个唯一键,插入时使用on duplicate key update col3=VALUES(col3), col4=VALUES(col4)
。
答案 1 :(得分:0)
另一种选择。在col1,col2上创建唯一键,并使用REPLACE INTO
语法。
REPLACE INTO Table_1 (col1, col2, col3, col4)
SELECT col1, col2, col3, col4 FROM Table_2
如果存在重复记录,它将删除Table_1中的记录并插入Table_2中的记录。如果记录不存在,则只需插入即可。