5

我需要将所有数据从一个表复制到另一个相同的模式表。如果新表已经有一行,那么我不需要更新或插入它。我只需要将新表中不存在的旧表中的新数据复制到该新表中。

那么sql查询将是什么,任何人都可以帮助我。

谢谢,蒙塔西尔·拉赫曼·拉菲

4

2 回答 2

13

尝试这个 :

INSERT INTO TABLENAME2 (col1, Col2, col3)
SELECT *
FROM tablename1 A
WHERE NOT EXISTS (
          SELECT *
          FROM tablename2 B
          WHERE A.col1 = B.col1
     )
于 2013-07-09T05:54:06.417 回答
5

试试这个——

INSERT INTO new_table(...)
SELECT *
FROM old_table AS o
WHERE o.ID NOT IN (
     SELECT n.ID FROM new_table AS n
)

或这个 -

INSERT INTO new_table(...)
SELECT o.*
FROM old_table AS o
LEFT JOIN new_table AS n ON n.ID = o.ID
WHERE n.ID IS NULL
于 2013-07-09T05:30:22.960 回答