我正在尝试从MySQL表中删除重复项,其中两个列值将相同。
在这种情况下,我想要有一个id列(称为nid)和一个具有相同值的哈希列:
| nid | hash |
| 2 | 932298 |
| 2 | 932298 |
我只希望其中一个能够存活,最好是插入数据库中的第一个。
我正在看这篇文章,但我的用例略有不同:
MySQL remove duplicates from big database quick
我也对其他选项持开放态度
答案 0 :(得分:1)
ALTER IGNORE TABLE `table_name` ADD UNIQUE (`hash`)
答案 1 :(得分:0)
1) create table `table_copy`(id int primary key,hash varchar(255), unique(`hash`)) select distinct id,hash from `table_name`;
2) drop table `table_name`;
3) rename table `table_copy` to `table_name`;