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