mysql 删除表中重复的数据

今天准备将一个表的指定字段设置成唯一约束索引,结果发现表中竟然存在重复数据,设置失败,

于是就需要删除重复数据,最开始是网上找的几个方法,但是操作起来要么巨麻烦,要么巨慢,

后来实在不行了,自己想了个办法,感觉挺好用的,具体思路是

1,先创建该正式表的相同结构的一个空表

2,然后给这个空表设置唯一约束索引Unique

3,然后把空表改成正式表的名称,同时把正式表改个别的名字

4,然后执行 insert ignore into table SELECT * from table_1; 语句,这样就能把正式表的数据插入到空表中,但是由于空表设置了唯一约束索引,因此索引重复的数据就会忽略,最终插入的数据都是不重复的数据了

这个方式可能有局限性,如果单条数据较大且总数据条数太多,可能就会很慢

posted @ 2024-04-11 11:51  WmW  阅读(2)  评论(0编辑  收藏  举报