[英]How to get exactly the id of the last inserted record in mysql?
我正在構建一個Web應用程序,可以由多個用戶同時使用。 他們可以同時添加數據。
我有一個名為doctor_main的表如下
DB的屏幕截圖http://img687.imageshack.us/img687/7033/testxqz.png
一旦添加了關於醫生的記錄,我想要返回插入記錄的id(這是一個自動增量字段)。
我知道我可以使用像LAST_INSERT_ID()和mysql_insert_id這樣的方法。 但我不知道它是如何表現的。
我需要該特定用戶插入的記錄的確切ID。
有時,如果兩個用戶試圖插入記錄,則不應交換返回的id。
要實現這一點,我應該使用什么樣的mysql函數?
手冊中有一整頁專門討論這個主題:
以下是該頁面的引用,可以幫助回答您的問題:
對於LAST_INSERT_ID(),最近生成的ID基於每個連接在服務器中維護。 它不會被其他客戶更改。
mysql_insert_id()
完全返回最后插入記錄的id,所以如果你只是echo mysql_insert_id()
你將得到最后一個插入行的id。
根據文檔 , mysql_insert_id
將返回您之前完成的插入的確切ID。
LAST_INSERT_ID()
和mysql_insert_id
工作正常。 每個客戶端將接收客戶端執行的最后一個語句的最后插入的ID
。
LAST_INSERT_ID()
按連接操作; 多個用戶將使用多個連接,因此用戶之間永遠不會交換ID。
如果您對last_insert_id
的機制持懷疑last_insert_id
,那么您可以手動分配id
而不是MySQL的auto_increment
功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.