一尘不染

如何确保PDO的lastInsertId()不是另一个同时插入的?

mysql

我正在INSERT使用PDO
进行SQL查询的注册表单。插入之后,我想提取userid刚刚创建的(自动递增,主键),并将INSERT其放入另一个表(“确认代码”表)中。

但是,如何确定该用户名不是第二位用户的用户名,后者在第一位用户之后的1/1000秒内注册呢?

我应该找到某种方法锁定桌子吗?我应该使用交易吗?


阅读 239

收藏
2020-05-17

共1个答案

一尘不染

lastInsertId()返回 在该连接
上插入的最后一行的标识符,因此并发用户(与数据库具有不同的连接)不会受到干扰。

2020-05-17