MySQL — удалить дубликаты строк
Для того чтобы можно было удалить дубликаты записей в таблице, воспользуемся однострочным 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;