在单独的表中比较2列,仅移动和移动非重复项

时间:2013-10-16 22:20:04

标签: php mysql sql inner-join where-clause

我希望比较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

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

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

 INSERT INTO table2 (value1, value2,...) 
 SELECT table1.value1, table1.value2,....
 FROM table1
 WHERE table1.id NOT IN (
   SELECT table2.id FROM table2;
 );