我有一个 PHP 脚本,用于检查表中特定的唯一条目。如果该条目不存在,它会为该数据创建一个新行,否则它只会更新该条目的计数。我的脚本可以同时(同一秒)被点击。在这种情况下,脚本的两个实例一起检查并且找不到条目并尝试插入记录。在这种情况下,第二个实例会引发错误。
有什么办法可以防止这种情况发生吗?
使用this question中提到的方法有帮助吗?
最佳答案
你必须
- 锁定涉及的表 (
LOCK TABLES ...
) - 检查条目是否存在
- 如有必要,创建条目
- 并解锁表格 (
UNLOCK TABLES
)
关于如果同时运行,PHP 脚本会在 mysql 上创建重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6516742/