2011-02-24 98 views
0

我有一个使用MySQL数据库的PHP应用程序。我想阻止两个请求执行相同的(重复)操作。如何在MySQL中实现“读取然后写入锁定”?

我想在记录上设置一个字段,以便第一个请求可以将其设置为true,并让其他请求知道它是“当前正在处理”。

if ($currentlyBeingProcessed) { 
    //get out of here 
} else { 
    //lock the row for processing 
} 

我意识到,我可以得到进入的情况下两个要求是如此接近的时间,他们可以同时读取该记录是“不被处理”之前的第一个请求会写信给它是数据库“正在处理”。

有没有办法在MySQL中锁定从其他请求读取它的行直到第一个请求成功完成写入数据库?我怎么做到这一点?

+0

使用交易 – 2011-02-24 20:57:19

回答

相关问题