mysql自增id獲取
mysql自增id獲取
- 使用max函數:select max(id) from tablename
- 優勢:使用方便快捷。
- 缺點:獲取的不是真正的自增id,是表中最大的Id,若是有刪除數據的話,那麼該值和自增id相差比較大。若是有連表數據,有可能致使數據錯亂。
- 使用LAST_INSERT_ID函數:select LAST_INSERT_ID()
- 優勢:獲取到的是真正的自增id。
- 缺點:該函數是與table無關的,永遠保留最新插入的自增列的id。若是多客戶端操做,並且不能保證原子性,這個值可能會出現錯誤。因此須要在插入以後調用。
- 使用@@IDENTITY變量:select @@IDENTITY
- 此方法和LAST_INSERT_ID()功能差很少,優缺點也一致。須要在插入後調用。
- 使用mysql查詢函數:SHOW TABLE STATUS;
- 優勢:可以準確的查到自增id。並且能夠在語句後面加上where語句或者like語句來過濾。
- 缺點:該語句返回的是一個記錄集,不能單獨的返回自增值。因此須要額外的操做來獲取。
- 使用自定義查詢方法:mysql表相關的信息是放在information_schema表裏。因此咱們參考 SHOW TABLE STATUS來構建查詢語句。如:
- select Auto_increment into autoId from information_schema.tables where Table_Schema = ‘dbname’ and table_name = ‘tablename’;
- 優勢:高度自定義,可以準確的獲得想獲得的任何信息。
歡迎關注本站公眾號,獲取更多信息