我收到了一个相当大的MySQL数据库,有很多重复项.大约三分之一的数据库是重复的.它也缺少一个主键.
数据库的结构是这样的:
unique_id | field01 | field02 | field03 | field04 | ...... | field26 | field27 |
现在虽然unique_id应该是,唯一的,唯一的;有很多重复.
此外,对于属于特定unique_id的副本的一组行,其余列可以相同或不同.例如,查看下面的unique_id’id_1′,field01在两个实例中都相同,但是field02& field03不是.
我想删除重复,并且每个unique_id只有一个副本存活.哪一个幸存下来并不重要.
例:
id_1 | abc | dfd | NULL | ... | def |
id_2 | abc | daf | ghi | ... | 12a |
id_1 | abc | xyz | jkl | ... | def |
id_4 | aaa | bbb | NULL | ... | def |
id_3 | NULL | bbb | NULL | ... | 123 |
id_5 | 1e3 | NULL | NULL | ... | def |
id_3 | aaa | bbb | fds | ... | def |
id_9 | awa | bbb | NULL | ... | 910 |
应该成为:
id_1 | abc | dfd | NULL | ... | def |
id_2 | abc | daf | ghi | ... | 12a |
id_4 | aaa | bbb | NULL | ... | def |
id_3 | NULL | bbb | NULL | ... | 123 |
id_5 | 1e3 | NULL | NULL | ... | def |
id_9 | awa | bbb | NULL | ... | 910 |
或者这也没关系:
id_2 | abc | daf | ghi | ... | 12a |
id_1 | abc | xyz | jkl | ... | def |
id_4 | aaa | bbb | NULL | ... | def |
id_5 | 1e3 | NULL | NULL | ... | def |
id_3 | aaa | bbb | fds | ... | def |
id_9 | awa | bbb | NULL | ... | 910 |
完成后,我需要将unique_is设置为主键.
请建议最好和准确的方法来做到这一点.提前致谢.