Jag tror att du helt enkelt kan försöka lägga till ett UNIKT INDEX med IGNORE:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX `name` (`column`);
MySQL bör svara med något i stil med:
Query OK, 4524 rows affected (1.09 sec)
Records: 4524 Duplicates: 9342 Warnings: 0
Naturligtvis överlåter du till MySQL att bestämma vilka rader som ska släppas.
EDIT:
detta fungerar för så många kolumner du vill:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX `name` (`col1`, `col2`, `col3`);
kolla MySQL:s dokumentation på SKAPA INDEX
. En vanlig gotcha (minst en jag stötte på en gång) är att glömma att NULL = NULL
är inte sant (men NULL
), därför är {42, NULL} och {42, NULL} tillåtna för ett UNIKT index på två kolumner.