mysql_insert_id安全吗?
根据PHP文档, mysql_insert_id
从mysql表中取出最后插入的id。
我的问题是,如果我有一个网站,每秒插入超过2行到数据库,我可以使用mysql_insert_id
并得到正确的ID我指INSERT
查询行之前?
从MySQL手册:
生成的ID在每个连接的基础上保存在服务器中。 这意味着该函数返回给定客户端的值是由该客户端影响AUTO_INCREMENT列的最新语句生成的第一个AUTO_INCREMENT值。 即使它们生成自己的AUTO_INCREMENT值,该值也不会受到其他客户端的影响。 这种行为可确保每个客户端都可以检索自己的ID,而不用担心其他客户端的活动,也不需要locking或事务。
短版本:使用安全。
mysql_insert_id为您提供最近一次INSERT语句的插入标识。
如果在插入之后立即调用这个方法,则在同一个mysql连接上,将获得与插入语句相匹配的插入标识,而与其他任何插入操作无关。