[MySQL] 數據庫自增ID用完了會怎么樣


1.有主鍵
如果設置了主鍵,並且一般會把主鍵設置成自增。
我們知道,Mysql里int類型是4個字節,如果有符號位的話就是[-2^31,2^31-1]無符號位的話最大值就是2^32-1,也就是4294967295

如果超過上限就會看到錯誤提示:1062 - Duplicate entry '2147483647' for key 'PRIMARY', Time: 0.000000s。
也就是說,如果設置了主鍵並且自增的話,達到自增主鍵上限就會報錯重復的主鍵key。
解決方案,mysql主鍵改為bigint,也就是8個字節

2.沒有主鍵
如果沒有設置主鍵的話,InnoDB則會自動幫你創建一個6個字節的row_id,由於row_id是無符號的,所以最大長度是2^48-1

如果超過上限row_id會從0重新開始計算 , 覆蓋舊數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM