我目前有一个包含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/

10-10 14:55