Php 插入到表原点有重复项的不在或不存在的位置
我在尝试插入不希望重复的记录时遇到问题。这个问题与我在谷歌找到的任何解决方案都不一样,所以它是这样的: 我有表1和表2,我想将表1中的记录插入表2中,因此我使用以下查询:Php 插入到表原点有重复项的不在或不存在的位置,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我在尝试插入不希望重复的记录时遇到问题。这个问题与我在谷歌找到的任何解决方案都不一样,所以它是这样的: 我有表1和表2,我想将表1中的记录插入表2中,因此我使用以下查询: INSERT INTO table1 SELECT * FROM table2 WHERE table2.importId NOT IN ( SELECT importId FROM table1 ); 仅当表2不包含重复项importId时,此操作才有效。 所以,如果表2有重复的importId,我想
INSERT INTO table1
SELECT *
FROM table2
WHERE table2.importId NOT IN
(
SELECT importId
FROM table1
);
仅当表2不包含重复项importId时,此操作才有效。
所以,如果表2有重复的importId,我想插入到表1中,其中不包含表2中的importId。上面的脚本将在插入记录时保持不变,从而在表1中创建重复的importId
我已经试过了:
INSERT INTO table1
SELECT *
FROM table2
WHERE NOT EXIST
(
SELECT importId
FROM table1
WHERE table1.importId <> table2.importId
);
同样的结果也会发生!现在我必须编写另一个查询来删除重复项。那么,有办法解决这个问题吗
顺便说一句,我在phpmyadmin中使用MYSQL。您需要使用DISTINCT关键字,请参阅 应该是你想要的,但是如果你不需要在一列中有重复的内容,我认为groupby关键字可以工作。也许是这样的
INSERT INTO table1
SELECT *
FROM table2
WHERE table2.importId NOT IN
(
SELECT importId
FROM table1
) GROUP BY (table2.importId);
INSERT INTO table1
SELECT *
FROM table2
WHERE table2.importId NOT IN
(
SELECT importId
FROM table1
) GROUP BY (table2.importId);