本文主要講解一下插入資料之後如何獲取自增主鍵的方法:
1.通過select last_insert_id(),結果如下:
last_insert_id()
2817
這個方法有乙個弊端:如果你在插入資料的時候,別人剛好刪除了你剛刪除的資料,那麼你雖然能獲取到這個主鍵,但是沒有任何意義了
如果此時又有人同時插入一條資料,那麼獲取到的將是別人剛插入進去的那條資料的id
2.通過select max(ruid) from tpm_unitinfo,結果如下
max(ruid)
103
這個方法返回的是查詢的當前表的最大的那個id,也即最後插入的那條記錄的id,不過也會有同樣的問題,所以插入資料的時候要防止併發問題
3.通過select @@identity,結果如下:
@@identity
2817
這個方法和第一種一樣,都是返回系統裡面記錄的最後插入一條資料的id
關於返回自增主鍵的方法,只通過mysql來獲取,我還是了解的太少,用mybatis的話,因為使用的是事務,所以很容易就獲取到了當前插入的資料的id
Mysql Mybatis插入資料返回自增主鍵
新增主機裝置管理資訊 param hostpojo 主機裝置管理資訊 return 結果 override transactional public intaddhost hostpojo hostpojo 查詢主機裝置管理列表 param hostpojo 主機裝置管理 return 主機裝置管理...
T SQL 插入並返回自增ID
sql server 2000中,有三個比較類似的功能 他們分別是 scope identity ident current 和 identity,它們都返回插入到 identity 列中的值。ident current 返回為任何會話和任何作用域中的特定表最後生成的標識值。ident curren...
T SQL 插入並返回自增ID
sql server 2000中,有三個比較類似的功能 他們分別是 scope identity ident current 和 identity,它們都返回插入到 identity 列中的值。ident current 返回為任何會話和任何作用域中的特定表最後生成的標識值。ident curren...