Php PDO 功能有多安全:lastInsertId?

2021-12-26 00:00:00 php pdo

我对 Php PDO 函数有点困惑:lastInsertID.如果我理解正确,它会返回插入到数据库中的最后一个自动增量 ID.

I have little confusion about the Php PDO function: lastInsertID. If I understand correctly, it returns the last auto-incremental id that was inserted in the database.

当我在创建注册用户的功能时执行在我的数据库中插入用户的查询时,我通常会使用此函数.

I usually use this function when I execute a query that inserts a user in my database when I am creating the functionality of registering a user.

我的问题是,例如,我有一百个人同时在我的网站上注册.并且可能是一个用户在另一个用户之后一毫秒点击了注册"按钮.那么这个函数lastInsertId是否有可能返回另一个刚刚注册的用户的id?

My question is that say I have a hundred people registering on my site at one point for example. And may be one user hit the 'Register' button a millisecond after another user. Then is there a chance that this function lastInsertId will return the id of another user that register just momentarily earlier?

可能是我想问的是服务器是否一次处理一个请求并一次处理一个 php 文件?

May be what I am trying to ask is does the server handle one request at a time and go through a php file one at a time?

请告诉我这件事.

谢谢.

推荐答案

完全安全.没有竞争条件.它只从进行插入的 pdo 对象返回最后插入的 Id.

Perfectly safe. There is no race condition. It only returns the last inserted Id from the pdo object that made the insert.

相关文章