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重新開始計算 , 覆蓋舊數據