MySQL Добавить индекс Mult-Column с повторными строками
-
28-09-2019 - |
Вопрос
Наличие следующей таблицы:
id -> incremental
field_1 -> foreignkey
field_2 -> foreignkey
Я хочу добавить следующий индекс
ALTER TABLE my_table ADD unique index(field_1, field_2);
Как никогда у меня есть (из-за плохой проверки приложений) у меня много повторяющихся строк (повторно, я имею в виду же field_1 и же field_2, имея только что-то значение)
Стол имеет около 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)
Не связан с StackOverflow