这一定很微不足道,但我似乎找不到解决方案。
我使用两个表,它们都没有任何主键。
我只想将第一个表的所有记录添加到第二个表中,如果它们不存在。
基本上:
INSERT INTO Table2
SELECT Table1.*
FROM Table
WHERE "the record to be added doesn't already exists in Table2"
最佳答案
你可以这样做。您需要检查每个相关的列 - 我刚刚将 2 作为示例。使用 Not Exists
子句,您可以检查记录是否已存在于多个列中。使用 NOT IN
,您将只能检查某一列的记录是否已存在。
INSERT INTO Table2
SELECT t1.*
FROM Table1 t1
WHERE NOT EXISTS
(
SELECT 1
FROM table2 t2 WHERE
t2.col1 = t1.col1 AND
t2.col2 = t1.col2
)
关于mysql - SQL:只插入新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26303247/