我目前有一个包含1500万个旧记录的表(表1),另一个包含1100万个新记录的表(表2)和一个空表(表3)。
table1和table2都共享数据-我想在table1表中找到table2中不存在的记录,然后将这些insert
记录到table3中。
到目前为止,我有以下内容(正在返回table3.uniqueCode错误的未知列):
INSERT INTO table3
SELECT * FROM table1
WHERE table1.uniqueCode != table2.uniqueCode
我应该注意,table1和table2不具有相同的结构,但是都具有uniqueCode字段,这不是KEY,而只是文字上唯一的字符串代码。
任何帮助将不胜感激,我已经研究过使用
JOIN
语句,但是这种方法也遇到了错误。谢谢!
更新-已回答
答案很简单:
INSERT INTO table3
(SELECT * FROM table1
WHERE uniqueCode not in (Select uniqueCode from table2))
下面有大量的答案供您选择,以适应略有不同的情况。请也查看这些内容,因为它们可能会解决您可能会遇到的一个稍有不同的问题。 :)
最佳答案
如果表具有相同的结构:
INSERT INTO table3
(SELECT * FROM table1
WHERE uniqueCode not in (Select uniqueCode from table2))
关于php - 根据其他两个表的比较插入表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25618941/