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

运维技术服务

响应时间:10分钟

问题处理方式:1对1人工技术服务

工作时间:周一至周六 8:30-22:00

业务范围:

网站开发  小程序开发  Discuz运维

宝塔运维  网站运维  SSL证书

运维技术为您解决疑难问题

搜索一下

推荐

宝塔Linux专业版

包含web应用防火墙、网站监控报表和异常监控推送等13款价值3500多元的专业版插件。

  • 宝塔系统加固
  • 网站防篡改程序
  • Nginx防火墙
  • 网站监控报表
广告

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  在线QQ客服

扫码咨询微信客服

鸿茂传媒企业介绍
顶部