有下一个表:

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行,因此...逐场去除场将非常困难。

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

有帮助吗?

解决方案

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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top