SELECT ... FOR UPDATE
bloqueará el registro con un bloqueo de escritura (exclusivo) hasta que la transacción se complete (comprometida o revertida).
Para seleccionar un registro y asegurarse de que no se modifique hasta que lo actualice, puede iniciar una transacción, seleccione el registro usando SELECT ... FOR UPDATE
, realice un procesamiento rápido, actualice el registro y luego confirme (o revierta) la transacción.
Si usa SELECT ... FOR UPDATE
fuera de una transacción (confirmación automática activada), el bloqueo se liberará inmediatamente, así que asegúrese de usar una transacción para conservar el bloqueo.
Por motivos de rendimiento, no mantenga las transacciones abiertas durante mucho tiempo, por lo que la actualización debe realizarse de inmediato.