Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 插入到表原点有重复项的不在或不存在的位置_Php_Mysql_Phpmyadmin - Fatal编程技术网

Php 插入到表原点有重复项的不在或不存在的位置

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,我想

我在尝试插入不希望重复的记录时遇到问题。这个问题与我在谷歌找到的任何解决方案都不一样,所以它是这样的:

我有表1和表2,我想将表1中的记录插入表2中,因此我使用以下查询:

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);