執行緒安全地獲取插入mysql的條目的id

2022-08-09 15:51:14 字數 498 閱讀 8974

在往mysql中插入條目時有時會希望能得到該插入條目的id

,一種方式是再執行乙個select語句條件為max(id)來獲取,但這種形式在併發環境裡並不是執行緒安全的,因為在你完成插入到再執行乙個select獲取最大id之間可能已經有另乙個條目被插入。

一種執行緒安全的解決方式是採用select last_insert_id()這個語句,它返回本次鏈結(每個資料庫鏈結由乙個執行緒承擔)中第一次插入的條目的id

eg.(1)、在連線1中向a表插入一條記錄,a表包含乙個auto_increment型別的id。

(2)、在連線2中向a表再插入一條記錄。

(3)、結果:在連線1中執行select last_insert_id()得到的結果和連線2中執行select last_insert_id()的結果是不同的;而在兩個連線中執行select max(id)的結果是相同的。

此外,使用select last_insert_id()時要注意,當一次插入多條記錄時,只是獲得第一次插入的id值,務必注意!

用Mysql網頁式管理工具安全地訪問資料庫的方法

用mysql網頁式管理工具安全地訪問資料庫的方法 用mysql網頁式管理工具安全地訪問資料庫的方法 在使用通達oa系統時很多使用者需要借助mysql網頁式管理工具進入後台資料庫去檢視資料,進行一些相應的操作。但是大多數時候使用者安裝完該工具後都是直接進入後台資料庫,這樣是很不安全。那如何安全的使用該...

利用IC負載開關的特性,安全地降低功耗

為了儘量減少功耗,乙個簡單的mosfet通常被用來將電源傳送到未使用的電路。然而,更好的選擇是使用負載開關,因為它有額外的功能來處理電力軌道管理的許多細微之處和古怪之處。負載開關提供了一系列效能引數和來自多個 商的評級,這使得應用程式優先順序和可用部件之間有很好的匹配。本文將簡要討論積體電路和電路斷...

MySQL 獲取最新插入資料的id

select identity identity 返回為跨所有作用域的當前會話中的某個表生成的最新標識值。插入資料之後,不管是再執行什麼操作 除了插入資料之後的更新 查詢 刪除等 只用該方法查詢到的id,都是最後插入資料對應的id。例如 插入一條id為10,name為 李四 的資料,之後不管是再執行...