一張自增表里面總共有 7 條數據,刪除了最后 2 條數據,重啟 MySQL 數據庫,又插入了一條數據,此時 id 是幾?如何獲取當前數據庫版本?


一張自增表里面總共有 7 條數據,刪除了最后 2 條數據,重啟 MySQL 數據庫,又插入了一條數據,此時 id 是幾?

  一般情況下,我們創建的表的類型是InnoDB,如果新增一條記錄(不重啟mysql的情況下),這條記錄的id是8;但是如果重啟(文中提到的)MySQL的話,這條記錄的ID是6。因為InnoDB表只把自增主鍵的最大ID記錄到內存中,所以重啟數據庫或者對表OPTIMIZE操作,都會使最大ID丟失。

但是,如果我們使用表的類型是MylSAM,那么這條記錄的ID就是8。因為MylSAM表會把自增主鍵的最大ID記錄到數據文件里面,重啟MYSQL后,自增主鍵的最大ID也不會丟失。

注:如果在這7條記錄里面刪除的是中間的幾個記錄(比如刪除的是3,4兩條記錄),重啟MySQL數據庫后,insert一條記錄后,ID都是8。因為內存或者數據庫文件存儲都是自增主鍵最大ID

如何獲取當前數據庫版本?

使用 select version() 獲取當前 MySQL 數據庫版本。


免責聲明!

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



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