MySQL — удалить дубликаты строк
![MySQL — удалить дубликаты строк](/images/uploads/201512/thumbs/mysql_duplicate_thumb_tmpl_CC-y_crop_100x0.png)
Для того чтобы можно было удалить дубликаты записей в таблице, воспользуемся однострочным SQL-запросом:
ALTER IGNORE TABLE `table` ADD UNIQUE INDEX(email);
где: `table` — имя таблицы, email — имя столбца в котором ищем дубликаты!
2й вариант
В случае, если необходимо производить поиск дубликатов по 2-м столбцам.
ALTER IGNORE TABLE table1 ADD UNIQUE KEY(Name2, Name3);
3й вариант
Когда сложная ситуация, без создания копий таблиц, наверно не обойтись.
CREATE TEMPORARY TABLE tmp_tab AS SELECT DISTINCT * FROM your_table;
DELETE FROM your_table;
INSERT INTO your_table SELECT * FROM tmp_tab;
DROP TABLE tmp_tab;