SELECT MAX(ai_col) FROM table_name FOR UPDATE;
因為這個特性,
所以若原本 InnoDB 資料表有1~5筆資料
id:1、2、3、4、5 => auto-increment:6
刪除了第2筆、第4筆、第5筆,資料剩第1筆、第3筆
id:1、3 => auto-increment:6
重新啟動 MySQL 後,auto-increment 會變成 4
id:1、3 => auto-increment:4
(註:若為MyISAM,重啟後仍為 6)
其他:
取得 AUTO_INCREMENT 值
//方法1 SHOW TABLE STATUS LIKE "資料表"; //方法2 SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name = "資料表" AND table_schema = "資料庫"; //方法3 DATABASE()目前資料庫 SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name = "資料表" AND table_schema = DATABASE();
參考:
MySQL :: MySQL 5.6 Reference Manual :: 14.8.6 AUTO_INCREMENT Handling in InnoDB
sql - How to get the next auto-increment id in mysql - Stack Overflow
沒有留言:
張貼留言