Tôi nghĩ bạn chỉ cần thử thêm một CHỈ SỐ DUY NHẤT bằng cách sử dụng BỎ QUA:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX `name` (`column`);
MySQL sẽ phản hồi với những thứ như:
Query OK, 4524 rows affected (1.09 sec)
Records: 4524 Duplicates: 9342 Warnings: 0
Tất nhiên, bạn sẽ để MySQL quyết định những hàng nào sẽ giảm xuống.
CHỈNH SỬA:
điều này hoạt động cho bao nhiêu cột tùy thích:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX `name` (`col1`, `col2`, `col3`);
kiểm tra tài liệu của MySQL trên TẠO CHỈ SỐ
. Một lỗi phổ biến (ít nhất tôi đã gặp một lần) là quên rằng NULL = NULL
không đúng (nhưng NULL
), do đó {42, NULL} và {42, NULL} được phép cho chỉ mục DUY NHẤT trên hai cột.