Saya pikir Anda bisa mencoba menambahkan INDEKS UNIK menggunakan IGNORE:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX `name` (`column`);
MySQL harus merespons dengan sesuatu seperti:
Query OK, 4524 rows affected (1.09 sec)
Records: 4524 Duplicates: 9342 Warnings: 0
Tentu saja, Anda akan menyerahkannya kepada MySQL untuk memutuskan baris mana yang akan dihapus.
EDIT:
ini berfungsi untuk kolom sebanyak yang Anda suka:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX `name` (`col1`, `col2`, `col3`);
periksa dokumentasi MySQL di BUAT INDEKS
. Gotcha umum (setidaknya satu yang saya temui sekali) adalah melupakan NULL = NULL
tidak benar (tetapi NULL
), maka {42, NULL} dan {42, NULL} diperbolehkan untuk indeks UNIK pada dua kolom.