0
我有一個使用MySQL數據庫的PHP應用程序。我想阻止兩個請求執行相同的(重複)操作。如何在MySQL中實現「讀取然後寫入鎖定」?
我想在記錄上設置一個字段,以便第一個請求可以將其設置爲true,並讓其他請求知道它是「當前正在處理」。
if ($currentlyBeingProcessed) {
//get out of here
} else {
//lock the row for processing
}
我意識到,我可以得到進入的情況下兩個要求是如此接近的時間,他們可以同時讀取該記錄是「不被處理」之前的第一個請求會寫信給它是數據庫「正在處理」。
有沒有辦法在MySQL中鎖定從其他請求讀取它的行直到第一個請求成功完成寫入數據庫?我怎麼做到這一點?
使用交易 – 2011-02-24 20:57:19