私は複数のワーカーを選択して行を更新しています。MYSQL行がUPDATEDを2回以上受け取らないようにするにはどうすればよいですか?
IDステータス 10新しい11新しい 12古い 13古い
ワーカーは、 '新しい' 行を選択し、 '古い' へのステータスを更新します。 2人のワーカーが同じ行を同時に選択するとどうなりますか? 私は、worker1が新しい行を選択し、worker1がそのステータスを更新する前に、worker2が同じ行を選択することを意味しますか?
1つのクエリでSELECTとUPDATEを行う必要がありますか、別の方法がありますか?
は、SELECT /読書防ぐロックしていますか?私がまだ選択できるのであれば、私はちょうど以下に述べる概念@daremonを使うかもしれない。 –
書き込みロックを行うと、他のすべてのセッションは、読み取りまたは書き込みを試みるとブロックされます。 – Pro777