一張自增表里面總共有 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 數據庫版本。