违法网站请勿向我司工作人员发起任何形式的人工服务请求,严禁利用鸿茂传媒技术支持服务与产品从事任何非法活动,如有发现不再提供任何技术支持。 ×

Mysql如何删除id相同的重复数据

在网站运维中,数据库中有时候会出现多条id重复的数据,想删除重复id,又没有找到很好的解决办法,本文是结合实际情况记录并描述,操作数据库请备份数据,以免操作不可逆,造成意外损失。

在网络上看到多种删除方式,但是运行会报错,给需要解决此问题的人。

'Mysql如何删除id相同的重复数据'

解决办法:

首先查看一下表中是否有重复数据

SELECT id,COUNT(*) FROM 表名
GROUP BY id 

HAVING COUNT(*) > 1;

查看一下一共有多少重复数据,删除重复数据的语句:

'Mysql如何删除id相同的重复数据'

DELETE FROM 表名 WHERE 
id IN (
 SELECT id FROM (
SELECT id,COUNT(*) FROM 表名
GROUP BY id 
HAVING COUNT(*) > 1
 ) AS a

) LIMIT 条数;

limit表示你要删除的条数,由于删除语句的执行速度比较慢,如果数据较多建议设定一个条数,比如先删除1000或者10000条。否则数据过大的话,mysql执行太慢会崩溃,心急去关闭再执行的话,会发生锁表。无法操作数据库。

解表操作:

1、查进程,主要是查找被锁表的那个进程的ID

SHOW PROCESSLIST;

2、kill掉锁表的进程ID

KILL   10866;//后面的数字即时进程的ID

© 网站版权与免责声明

1、【鸿茂传媒】独立拥有本网站相关网页内所有资料的版权;

2、未经【鸿茂传媒】的明确书面许可,任何人不得对其进行复制;

3、本网站未注明【鸿茂传媒】的文章,均来源于网络,仅供大家学习与参考;

4、如有侵权/违规/不妥请联系客服QQ或邮箱删除,敬请谅解;

5、【鸿茂传媒】保留随时更正、修改、更新本声明的权利。法律申明

服务需求留言板
*紧急问题联系客服
提交
提交需求
工作日: 8:30 - 22:00  在线客服咨询

扫码咨询微信客服

鸿茂传媒企业介绍
顶部