繁体   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