MySQL中的自增主鍵用完了怎麼辦

目錄

一場面試引發的血案。。。 

引發的問題

 解決方案

擴展

目前業內在線修改表結構的方案

使用mysql5.6+提供的在線修改功能

藉助第三方工具

改從庫表結構,然後主從切換

專業版回答


一場面試引發的血案。。。 

面試官:"用過mysql吧,你們是用自增主鍵還是UUID?"   

你:"用的是自增主鍵"    

面試官:"爲什麼是自增主鍵?"    

你:"因爲採用自增主鍵,數據在物理結構上是順序存儲,性能最好,blabla…"    

面試官:"那自增主鍵達到最大值了,用完了怎麼辦?"    

你:"what,沒複習啊!!"    (然後,你就可以回去等通知了!)

引發的問題

一旦自增id達到最大值,此時數據繼續插入是會報一個主鍵衝突異常如下所示

//Duplicate entry '4294967295' for key 'PRIMARY'

 解決方案

那解決方法也是很簡單的,將Int類型改爲BigInt類型

擴展

目前業內在線修改表結構的方案

使用mysql5.6+提供的在線修改功能

藉助第三方工具

改從庫表結構,然後主從切換

專業版回答

面試官:"那自增主鍵達到最大值了,用完了怎麼辦?"   

你:"這問題沒遇到過,因爲自增主鍵我們用int類型,一般達不到最大值,我們就分庫分表了,所以不曾遇見過!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章