Мисля, че можете просто да опитате да добавите УНИКАЛЕН ИНДЕКС, като използвате IGNORE:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX `name` (`column`);
MySQL трябва да отговори с нещо като:
Query OK, 4524 rows affected (1.09 sec)
Records: 4524 Duplicates: 9342 Warnings: 0
Разбира се, вие ще оставите на MySQL да реши кои редове да премахнете.
РЕДАКТИРАНЕ:
това работи за толкова колони, колкото искате:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX `name` (`col1`, `col2`, `col3`);
проверете документацията на MySQL на СЪЗДАВАНЕ НА ИНДЕКС
. Често срещан проблем (поне един, с който се сблъсках веднъж) е да забравя, че NULL = NULL
не е вярно (но NULL
), следователно {42, NULL} и {42, NULL} са разрешени за УНИКАЛЕН индекс на две колони.