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

1.有主鍵
若是設置了主鍵,而且通常會把主鍵設置成自增。
咱們知道,Mysql裏int類型是4個字節,若是有符號位的話就是[-2^31,2^31-1]無符號位的話最大值就是2^32-1,也就是4294967295mysql

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

2.沒有主鍵
若是沒有設置主鍵的話,InnoDB則會自動幫你建立一個6個字節的row_id,因爲row_id是無符號的,因此最大長度是2^48-1im

若是超過上限row_id會從0從新開始計算 , 覆蓋舊數據數據

相關文章
相關標籤/搜索