Один из методов удаления дубликатов записи
Промахнулся. Наплодил. На 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