mysql 刪除表中重複的資料

WmW發表於2024-04-11

今天準備將有個表的指定2個欄位設定成唯一約束索引,結果發現表中竟然存在重複資料的情況,

於是就想著怎麼刪除重複的資料,最開始是網上找的方法,找到了幾個方法,要麼巨麻煩,要麼巨慢,

後來實在不行了,自己想了個辦法,感覺挺好用的,具體思路是

1,先建立該正式表的相同結構的空表

2,然後給這個空表設定唯一約束索引Unique

3,然後把空表改成正式表的名稱,同時把正式表改個別的名字

4,然後執行insert ignore into table SELECT * from table_1;語句,這樣就能把正式表的資料插入到空表中,但是由於空表設定了唯一約束索引,因此索引重複的資料就會忽略,最終插入的資料都是不重複的資料了

這個方式可能有侷限性,如果單條資料較大且總資料條數太多,可能就會很慢

相關文章