查找并删除MySQL表中的重复条目

时间:2014-04-10 19:33:42

标签: mysql

我有一个包含60列的表格。我想删除重复的条目。必须将所有60列进行比较才能将记录视为重复记录。 我尝试在MySQL中将所有60列设置为UNIQUE,但是我收到此错误

#1070 - Too many key parts specified; max 16 parts allowed

还有其他解决方案吗?

2 个答案:

答案 0 :(得分:3)

如果您的新表格应该与旧表格完全相同

CREATE TABLE new_table LIKE old_table;

将所有不同的行INSERT转换为new_table使用

INSERT INTO new_table
    SELECT DISTINCT * FROM old_table;

然后您可以DROP TABLE old_tableRENAME TABLE new_table TO old_table或其他任何内容。

答案 1 :(得分:-1)

我建议尝试这样的事情

从[mytable]组中选择col1,...,col60 by col1,... col60 HAVING count(*)> 1

这将列出所有重复的行。完成后,您可以删除重复的行。