Sie können den Datensatz wie in anderen Antworten beschrieben sperren, aber Sie werden keine Ausnahme sehen beim UPDATE dieser Zeile.
Das UPDATE
-Anweisung wartet, bis die Sperre aufgehoben wird , also die Sitzung mit SELECT ... FOR UPDATE
begeht. Danach wird das UPDATE durchgeführt.
Die einzige Ausnahme, die Sie verwalten können, ist DEADLOCK, d. h.
Session1 SELECT FOR UPDATE record A
Session2 SELECT FOR UPDATE record B
Session1 UPDATE record B --- wait as record locked
Session2 UPDATE record A --- deadlock as 1 is waiting on 2 and 2 waiting on 1