我有多個來源執行相同的mysql查詢來獲取和執行工作(來源是不同的PHP腳本)。 我想,所以我用這個查詢得到有過去最遠距離工作:同時選擇數據和更新
SELECT * FROM jobs ORDER BY last_done ASC
現在我的問題是,每個源應該得到獨特的結果,這意味着如果一個源獲取job1
這份工作應該得到last_done的更新,以便它再次位於表格的底部,如果秒源執行查詢,它不應得到job1
,而應該得到job2
等等。
我有問題,有時如果兩個來源幾乎在同一時間調用,他們得到同樣的工作,如果我選擇後單獨更新。
我怎麼能最好的做到這一點,而不是兩個來源一起查詢得到同樣的工作?
使用事務和鎖定。 –