違法網站請勿向我司工作人員發起任何形式的人工服務請求,嚴禁利用鴻茂傳媒技術支持服務與產品從事任何非法活動,如有發現不再提供任何技術支持。×

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客服

掃碼諮詢微信客服

鴻茂傳媒企業居間
頂部