Use Temporary Table to Fill Original Table With Unique Rows
You can use a temporary table to copy over unique values from the original table, and add them back to the original table. This can be useful when a primary key does not exist. # Step 1: Copy distinct values to temporary table CREATE TEMPORARY TABLE tmp_user ( SELECT id , name FROM user GROUP BY name ); # Step 2: Remove all rows from original table DELETE FROM user ; # Step 3: Remove all rows from original table INSERT INTO user ( SELECT * FROM tmp_user ); # Step 4: Remove temporary table DROP TABLE tmp_user ;