如何防止MySQL竞争条件在事务中重复输入

时间:2015-04-14 13:52:01

标签: php mysql pdo

我的 PHP / MySQL 代码INSERT用户帐户如下:

  1. 开始交易
  2. 执行SELECT以确保用户名(UNIQUE)尚不存在
  3. 使用用户名和密码插入用户帐户
  4. 其他MySQL查询
  5. 提交交易
  6. 我的理解是,当运行多个脚本以插入具有相同用户名的用户帐户时,他们可能会遇到竞争条件并尝试插入相同的用户名。我该如何防止这种情况?

1 个答案:

答案 0 :(得分:0)

您可以将列'用户名'独特。这样,其中一个提交将失败,因为它会违反该约束。