He leído this article from dev.mysql.SELECCIONAR BLOQUEO EN EL MODO COMPARTIR
en esa página es un ejemplo de que cuando el uso de seleccionar para la actualización y el no uso de bloqueo en el modo de acción y dice
Aquí, LOCK IN SHARE MODE no es una buena solución porque si dos usuarios leen el contador al mismo tiempo, al menos uno de ellos termina en punto muerto cuando entra en intentos para actualizar el contador
pero primera línea de esta página dice
SELECT ... LOCK IN SHARE MODE: Los filas de lectura son los últimos disponibles, por lo que ** si pertenecen a otra transacción ** que no ha aún comprometido, lee bloques hasta que la transacción finalice.
¿hay una paradoja?
me refiero a dos usuarios no leen el contador al mismo tiempo beacause si pertenecen a otra transacción los bloques de lectura hasta que finalice la transacción.
así que seleccione para la actualización espere si la fila bloqueada fue modificada o no modificada por el usuario1 antes de confirmar y bloquear en el modo compartir ¿solo espera si el usuario1 modifica la fila bloqueada antes de la confirmación? – user677900
la diferencia es que puede seleccionar el mismo registro en 2 transacciones con seleccionar ... bloquear en modo compartir, pero no puede con seleccionar ... para actualizar. seleccione para la actualización bloquea otra seleccione para actualizar o seleccione bloqueo en modo compartir en el mismo registro. –