我使用的是Yii PHP框架,它有一个PDO::lastInsertId函数,它显然只是PDO::lastInsertId的一个实现。如果我的应用程序有来自可能数千个并发用户的非常快速的插入,那么这个函数能够可靠地获取我刚刚插入的数据的自动递增的行ID吗?
我需要获取我刚插入的行的id,以便在插入之后做一些工作,但我希望确保如果插入速率非常高,它不会导致不一致的结果。
谢谢!
发布于 2011-09-26 00:33:18
是的,当然,不用担心这一点,但您必须确保在插入查询之后询问lastInsertId。在此期间,不应在该连接上执行任何其他查询,每个PHP进程必须有一个单独的连接。
此外,如果您认为一个表每秒将有数百或数千次插入,请考虑不使用索引或使用最小数量的索引。在MySQL支持MyISAM表的情况下。
https://stackoverflow.com/questions/7546861
复制相似问题