簡體   English   中英

如何准確獲取mysql中最后插入的記錄的id?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM