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