MySQL删除重复项,其中2个字段匹配

时间:2015-11-22 21:19:49

标签: mysql duplicates

我有一个包含这些字段和(示例)数据的表:

id | dropperid | itemid
 1 | 933101    | 513     
 2 | 330400    | 381     
 3 | 868939    | 585    
 4 | 111111    | 646     
 5 | 933101    | 513     
 6 | 933101    | 513     
 7 | 943844    | 513     

如何删除所有重复项,其中“重复”表示相同的dropperid和itemid?

在上面的示例中,我想删除id 5和6。

有没有办法可以对我整张桌子做这个?我不想写每个dropperid和itemid来删除重复项。

1 个答案:

答案 0 :(得分:0)

只需添加UNIQUE索引:

ALTER IGNORE TABLE MY_TABLE
ADD UNIQUE INDEX drop_rel_idx (id);

这将删除所有重复的行;特别是它会保留最旧的重复记录来删除新记录。

查看更多内容:

Remove duplicate rows