MySQLMySQL LOCK TABLE


Sintaxis

  • LOCK TABLES table_name [LEER | ESCRIBIR]; // Bloquear tabla

  • TABLAS DE DESBLOQUEO; // Desbloquear Tablas

Observaciones

El bloqueo se utiliza para resolver problemas de concurrencia. El bloqueo se requiere solo cuando se ejecuta una transacción, que primero lee un valor de una base de datos y luego escribe ese valor en la base de datos. Los bloqueos nunca son necesarios para las operaciones de inserción, actualización o eliminación autónomas.

Hay dos tipos de cerraduras disponibles

READ LOCK - cuando un usuario solo lee de una tabla.

ESCRIBIR BLOQUEO: cuando un usuario está leyendo y escribiendo en una tabla.

Cuando un usuario tiene un WRITE LOCK en una tabla, ningún otro usuario puede leer o escribir en esa tabla. Cuando un usuario mantiene un READ LOCK en una tabla, otros usuarios también pueden leer o retener un READ LOCK , pero ningún usuario puede escribir o retener un WRITE LOCK en esa tabla.

Si el motor de almacenamiento predeterminado es InnoDB, MySQL usa automáticamente el bloqueo de nivel de fila para que múltiples transacciones puedan usar la misma tabla simultáneamente para lectura y escritura, sin que se hagan esperar.

Para todos los motores de almacenamiento que no sean InnoDB, MySQL usa el bloqueo de tablas.

Para más detalles sobre el bloqueo de la mesa, vea aquí.

MySQL LOCK TABLE Ejemplos relacionados