繁体   English   中英

mysql_insert_id 使用安全吗?

[英]Is mysql_insert_id safe to use?

根据 PHP 文档, mysql_insert_id从 mysql 表中获取最后插入的 id。

我的问题是,如果我有一个网站每秒向数据库插入超过 2 行,我可以使用mysql_insert_id并获得我在一行之前在INSERT查询中引用的正确 ID 吗?

从 MySQL 手册:

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

简短版本:使用安全。

mysql_insert_id 为您提供在您提供的连接上的最新 INSERT 语句的插入 ID。

如果您在插入后立即调用它,在同一个 mysql 连接上,您将获得与该插入语句匹配的插入 ID,与同时进行的任何其他插入无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM