MySQL hinzufügen mehrspaltigen Index mit wiederholten Reihen
-
28-09-2019 - |
Frage
die nächste Tabelle Mit:
id -> incremental
field_1 -> foreignkey
field_2 -> foreignkey
Ich will den nächsten Index hinzuzufügen
ALTER TABLE my_table ADD unique index(field_1, field_2);
Wie auch immer ich habe (aufgrund einer schlechten Anwendung Validierung) Ich habe eine Menge von wiederholten Zeilen (durch wiederholte ich meine gleiche field_1 und gleiche field_2, mit nur id als Differenz)
Die Tabelle hat etwa 60.000 Zeilen so ... Feld Entfernen von Feld sehr schwierig wäre.
Wie kann ich diesen Index anwenden und alle duplizierten Zeilen entfernen?
Lösung
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)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow