表型別對AUTO_INCREMENT的影響

孤竹星發表於2015-05-13
如果有一張表,裡面有個欄位為id的自增主鍵,當已經向表裡面插入了10條資料之後,刪除了id為8,9,10的資料,再把mysql重啟,之後再插入一條資料,那麼這條資料的id值應該是多少,是8,還是11? 
如果表的型別為MyISAM,那麼是11。如果表的型別為InnoDB,則id為8。 
這是因為兩種型別的儲存引擎所儲存的最大ID記錄的方式不同,MyISAM表將最大的ID記錄到了資料檔案裡,重啟mysql自增主鍵的最大ID值也不會丟失; 
而InnoDB則是把最大的ID值記錄到了記憶體中,所以重啟mysql或者對錶進行了OPTIMIZE操作後,最大ID值將會丟失。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28282660/viewspace-1652524/,如需轉載,請註明出處,否則將追究法律責任。

相關文章