0

我正在寻找比较 MYSQL 中两个单独表中的列,然后将第二个表中不存在的行移动到其中

例如:

表1:表2:id值id值1 6 1 6 2 7 2 7 3 8 4 9

我想将 3 个 id 和值拉入表 2

我一直在尝试使用 NOT LIKE 来执行此操作,但是它仍然会将重复项拉到第二个表中,我也尝试过比较两个 id 列,但是使用代码也不起作用

Select table1.* FROM table1, table2 WHERE table1.id != table2.id

我第一次运行它时它起作用了,但是再尝试一次,它会将越来越多的结果转储到表 2 中

我猜我需要使用内部连接但是我不太确定如何去做,因为我想要不匹配的结果

我用来将 table1 数据移动到 table2 的当前代码如下:

INSERT INTO table1 (value1, value2,...) SELECT table1.value1, table1.value2,....
FROM table1, table2
WHERE table1.id != table2.id

任何帮助将不胜感激

4

1 回答 1

0

从表一中插入不在表二中的值

 INSERT INTO table2 (value1, value2,...) 
 SELECT table1.value1, table1.value2,....
 FROM table1
 WHERE table1.id NOT IN (
   SELECT table2.id FROM table2;
 );
于 2013-10-16T22:27:12.237 回答