我正在INSERT
使用 PDO 做一个带有 SQL 查询的注册表单。在此 INSERT 之后,我想提取userid
刚刚创建的(自动递增,主键),并将INSERT
其提取到另一个表(“确认码”表)中
但是我如何确保这个用户 ID 不是第二个用户的用户 ID,该用户在第一个用户之后注册了 1/1000 秒?
我应该找到一些锁定桌子的方法吗?我应该使用交易吗?
lastInsertId()
返回在该连接上插入的最后一行的标识符,因此并发用户(与数据库的不同连接)不会干扰。
您可以通过电子邮件或某些独特字段进行选择来避免这种情况。这将保证您获得正确的用户 ID。
例如:
select id from user_table where email = 'user@email.com' limit 1;