MySQL和上一个\u INSERT\u id()返回错误id的可能性

MySQL和上一个\u INSERT\u id()返回错误id的可能性,mysql,lastinsertid,Mysql,Lastinsertid,根据我所读的LAST\u INSERT\u ID()检索要运行的最后一条INSERT语句的ID。是最后一个insert语句在您的连接上运行,还是最后一个insert语句在所有连接的数据库上运行?我想我想问的是:在一个繁忙的数据库驱动的网站上,以下代码返回错误id的可能性有多大,有没有一种方法可以防止这种情况,然后锁定数据库 INSERT INTO example (string) VALUE ('something'); SELECT LAST_INSERT_ID(); PHP的mysql\u

根据我所读的
LAST\u INSERT\u ID()
检索要运行的最后一条INSERT语句的ID。是最后一个insert语句在您的连接上运行,还是最后一个insert语句在所有连接的数据库上运行?我想我想问的是:在一个繁忙的数据库驱动的网站上,以下代码返回错误id的可能性有多大,有没有一种方法可以防止这种情况,然后锁定数据库

INSERT INTO example (string) VALUE ('something');
SELECT LAST_INSERT_ID();
PHP的
mysql\u insert\u id()
是一个更好的解决方案,还是我应该只查询刚刚插入的数据并以这种方式获取id

是在您的连接上运行的最后一条insert语句还是

连接上的最后一次插入

PHP的mysql_insert_id()是更好的解决方案吗

不,是一样的

或者我应该只查询刚刚插入的数据,并以这种方式获取id吗

那就慢多了

链接:

引用该链接:

生成的ID在服务器中按每个连接进行维护。这意味着函数返回给给定客户机的值是为影响该客户机自动增量列的最新语句生成的第一个自动增量值。此值不受其他客户端的影响,即使它们生成自己的自动增量值。此行为确保每个客户端都可以检索自己的ID,而不必关心其他客户端的活动,也不需要锁或事务


我放松了。谢谢