鴻茂傳媒經營理念
始終以創造客戶價值為根本
景安/西部/騰訊雲/阿里雲
提供大廠商的雲伺服器
16年網絡運維經驗
提供專屬人工技術服務
在網站運維中,資料庫中有時候會出現多條id重複的數據,想刪除重複id,又沒有找到很好的解決辦法,本文是結合實際情況記錄並描述,操作資料庫請備份數據,以免操作不可逆,造成意外損失。
在網絡上看到多種刪除方式,但是運行會報錯,給需要解決此問題的人。
解決辦法:
首先查看一下表中是否有重複數據
select id,count(*) from 表名
group by idhaving count(*)> 1;
查看一下一共有多少重複數據,刪除重複數據的語句:
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、【鴻茂傳媒】保留隨時更正、修改、更新本聲明的權利。法律申明