我有一个使用MySQL数据库的PHP应用程序。我想阻止两个请求执行相同(重复)操作。
我想在记录上设置一个字段,以便第一个请求可以将其设置为true,并让其他请求知道它“正在处理”。
if ($currentlyBeingProcessed) {
//get out of here
} else {
//lock the row for processing
}
我意识到我可能会遇到两个请求非常接近的情况,他们都可以在第一个请求写入数据库之前“正在处理”该记录“正在处理” ”
在第一个请求成功写入数据库之前,MySQL是否有办法锁定读取它的其他请求中的行?我该如何做到这一点?