Mysql添加重复行的多列索引

时间:2010-10-07 05:13:57

标签: mysql unique-index

有下一张桌子:

id -> incremental
field_1 -> foreignkey
field_2 -> foreignkey

我想添加下一个索引

ALTER TABLE my_table ADD unique index(field_1, field_2);

我怎么样(由于应用程序验证不好)我有很多重复的行(重复我的意思是同一个field_1和相同的field_2,只有id作为差异)

该表有大约60,000行,因此......逐字段删除将非常困难。

如何应用该索引并删除每个重复的行?

1 个答案:

答案 0 :(得分:2)

create table mytable2 like mytable;

insert into mytable2 
select max(id), field_1, field_2 
from mytable 
group by field_1, field_2;

rename table mytable to mytable_old, mytable2 to mytable;

ALTER TABLE my_table ADD unique index(field_1, field_2)