Ik denk dat je gewoon kunt proberen een UNIEKE INDEX toe te voegen met IGNORE:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX `name` (`column`);
MySQL zou moeten reageren met zoiets als:
Query OK, 4524 rows affected (1.09 sec)
Records: 4524 Duplicates: 9342 Warnings: 0
Natuurlijk laat je het aan MySQL over om te beslissen welke rijen je wilt laten vallen.
BEWERKEN:
dit werkt voor zoveel kolommen als u wilt:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX `name` (`col1`, `col2`, `col3`);
bekijk de MySQL-documentatie op CREATE INDEX
. Een veelvoorkomend probleem (tenminste één die ik ooit ben tegengekomen) is om te vergeten dat NULL = NULL
is niet waar (maar NULL
), dus {42, NULL} en {42, NULL} zijn toegestaan voor een UNIEKE index op twee kolommen.