MySQL删除没有主键的表中的重复记录,只保留一条记录

如果在设计表时没有指定主键,
导入数据时可能出现重复导入,
导致一个表中出现多条完全相同的多条记录。
以下是解决这个问题的思路:

  1. 使用distinct语句筛选出不重复的记录存入临时表tmp;
create table tmp as (select distinct sno,sname,age,sex from s);
  1. 删除原表中的数据记录
delete from s;
  1. 将临时表中的数据插入到原表。
insert into s select * from tmp;
  1. 删除临时表
drop table tmp;

你可能感兴趣的:(学习之路)