根据PHP文档,mysql_insert_id
从mysql表中获取最后一个插入的id。
我的问题是,如果我有一个每秒向数据库插入超过2行的网站,我可以使用mysql_insert_id
并获取我在INSERT
查询中引用的正确ID前一行?
答案 0 :(得分:13)
来自MySQL手册:
生成的ID基于每个连接在服务器中维护。这意味着函数返回给定客户端的值是为该客户端影响AUTO_INCREMENT列的最新语句生成的第一个AUTO_INCREMENT值。此值不受其他客户端的影响,即使它们生成自己的AUTO_INCREMENT值。此行为可确保每个客户端都可以检索自己的ID,而无需关心其他客户端的活动,也无需锁定或事务。
简短版:使用安全。
答案 1 :(得分:3)
mysql_insert_id为您提供了最近一次INSERT语句的插入ID。
如果你在插入后立即调用它,在同一个mysql连接上,你得到插入的id匹配那个insert语句,与同时进行的任何其他插入无关。