我正在構建一個Web應用程序,它可以被多個用戶同時使用。他們可以同時添加數據。如何正確獲取mysql中最後插入的記錄的id?
我有一個名爲doctor_main表如下
Screenshot of DB http://img687.imageshack.us/img687/7033/testxqz.png
一旦一個關於醫生記錄的添加,我想插入記錄的ID(這是一個自動增量字段)歸還。
我知道我可以像使用LAST_INSERT_ID()和mysql_insert_id方法。但我不知道它是如何表現的。
我需要這是由特定的用戶插入的記錄的確切ID。
有時候,如果兩個用戶試圖插入一條記錄,這是返回的ID應該不會被交換。
爲了實現這一目標是什麼樣的MySQL功能我應該使用?
爲什麼不把它放在信任上......它的工作原理比你們在這方面的工作多年。返回的ID是該用戶線程最後一次插入的ID,而不是其他任何用戶線程的ID。 – 2012-02-02 12:09:15
對於AUTO_INCREMENT列自動生成的ID,LAST_INSERT_ID()基於每個MySQL連接。因此,只要您在同一個連接上調用LAST_INSERT_ID(),在執行INSERT之後,就沒有併發問題。 – nos 2012-02-02 12:17:11
@MarkBaker Yeap,我希望比我多思考多年,這就是爲什麼我在這裏要求更好的思想來確保。懷疑和澄清不僅僅是追隨而是犯罪。:) – 2012-02-02 12:18:30