Один из методов удаления дубликатов записи

Промахнулся. Наплодил. На 5 млн строк

CREATE TABLE tmp_table AS SELECT DISTINCT * FROM my_table;

TRUNCATE my_table;

INSERT INTO my_table SELECT * FROM tmp_table;

DROP TABLE tmp_table; 

На самом деле Это работает если нет, например primary key, или unique key

Способ с DELETE

CREATE TABLE tmp_table AS SELECT * FROM my_table;

DELETE t FROM table t
JOIN tmp_table tt ON (t.field = tt.field)
WHERE t.id <> t2.id
AND t.id < t2.id;

DROP TABLE tmp_table; 

Можно создавать TEMPORARY table

Уникализация поля

CREATE TABLE tmp_table AS SELECT * FROM my_table;

UPDATE `table` t
JOIN tmp_clone tt ON (tt.field = c.field)
SET
t.field = CONCAT(t.field,"-", t.d)
WHERE 1
AND t.id <> tt.id
AND t.id < tt.id;

DROP TABLE tmp_table; 

Можно создавать TEMPORARY table