Transacciones
Mantén la consistencia de tus datos con transacciones: COMMIT, ROLLBACK, SAVEPOINT, niveles de aislamiento (READ COMMITTED, REPEATABLE READ, SERIALIZABLE) y bloqueo de tablas.
Las transacciones son el mecanismo fundamental que garantiza la consistencia e integridad de los datos en MySQL cuando se realizan múltiples operaciones que deben ejecutarse de forma atómica. Basadas en las propiedades ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad), las transacciones aseguran que un conjunto de sentencias SQL se ejecute completamente o no se ejecute en absoluto, nunca de forma parcial.
Esta sección cubre los conceptos fundamentales de las transacciones en MySQL con InnoDB: cómo iniciar una transacción explícita, confirmar los cambios con COMMIT o deshacerlos completamente con ROLLBACK, y cómo usar SAVEPOINT para crear puntos de restauración parciales dentro de una transacción larga. También se explican los cuatro niveles de aislamiento (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ y SERIALIZABLE) y los problemas de concurrencia que cada uno previene: lecturas sucias, lecturas no repetibles y lecturas fantasma. Finalmente se cubre el bloqueo de tablas con LOCK TABLES como mecanismo de control de acceso explícito.
Las transacciones son imprescindibles en cualquier aplicación que gestione datos críticos: transferencias bancarias, procesamiento de pedidos, reservas o cualquier operación donde la inconsistencia parcial sería inaceptable. InnoDB, el motor de almacenamiento predeterminado de MySQL, está optimizado precisamente para este tipo de cargas de trabajo transaccionales.
