在MySQL批量插入上显示重复项

在MySQL批量插入上显示重复项,mysql,duplicates,bulkinsert,Mysql,Duplicates,Bulkinsert,我有一个CSV文件,我需要将其输入我的数据库。我的操作方法是批量插入。其中一列附加了唯一性约束,但它不是主列。如果存在重复条目,它将正确跳过该行,并且不会将其输入数据库。(在命令行上,它指示重复项:n,其中n是重复项的总数) 我是否可以检索重复的行号?例如,使用Show Warnings或Show Errors,它会声明最后一个MySQL错误和警告,我是否可以单独从MySQL中检索重复项 谢谢。您可以先将数据输入临时表,而不受唯一性约束,然后执行查询以查找所有重复项 SELECT unique_

我有一个CSV文件,我需要将其输入我的数据库。我的操作方法是批量插入。其中一列附加了唯一性约束,但它不是主列。如果存在重复条目,它将正确跳过该行,并且不会将其输入数据库。(在命令行上,它指示重复项:n,其中n是重复项的总数)

我是否可以检索重复的行号?例如,使用Show Warnings或Show Errors,它会声明最后一个MySQL错误和警告,我是否可以单独从MySQL中检索重复项


谢谢。

您可以先将数据输入临时表,而不受唯一性约束,然后执行查询以查找所有重复项

SELECT unique_column, count(*) c
FROM temp_tablename
GROUP BY unique_column
HAVING c > 1;
然后使用以下命令将其从临时表复制到实际表:

INSERT IGNORE INTO tablename SELECT * FROM temp_tablename;

你用什么做批量插入?嗯?将ignore插入tablename(columname1,columname2…)值(val1,val2,…,,(val1,val2,…,,)中;没关系,我误解了这个问题。您需要更详细的信息,而不仅仅是重复的数量。我认为那是不可能的。