2011-02-24 97 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

回答

相關問題