mysql 刪除重復數據 || 無/有主鍵兩種情況


1】沒有主鍵 == 增加主鍵 后再刪除重復數據 然后去掉主鍵字段

  -- 增加自增id
  alter table 表名 add id int(10) not null auto_increment,add index idx_id (id);

  -- 例如 : 
  alter table kpi_prpall_old1 add id int(10) not null auto_increment,add index idx_id (id);

  -- 簡單通用的刪除重復數據腳本
  delete from kpi_prpall_old1
  where id not in ( select id from (
  select min(t.id) id from kpi_prpall_old1 t
  group by t.policyno , t.versionno       -- 根據關鍵字查詢出重復數據其中最小的id 數據 保留不刪除,其他重復數據刪除
  )tt
  );

  -- 刪除id
  ALTER TABLE 表名 DROP id;

參考博客指向: https://blog.csdn.net/qq_37928340/article/details/105627549

2】已經有主鍵 == 多種方法 刪除重復數據

參考微博指向: https://blog.csdn.net/n950814abc/article/details/82284838


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM