Vous pouvez verrouiller l'enregistrement comme décrit dans d'autres réponses, mais vous ne verrez aucune exception lors de la mise à jour de cette ligne.
La UPDATE
l'instruction attendra que le verrou soit libéré , c'est-à-dire la session avec SELECT ... FOR UPDATE
engage. Après cela, la MISE À JOUR sera effectuée.
La seule exception que vous pouvez gérer est DEADLOCK, c'est-à-dire
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