Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En MySQL cuando trabajamos con tablas InnoDB y el modo de ejecución AUTOCOMMIT está
activado cada sentencia se ejecuta automáticamente. Es el modo por defecto tal y como se ve
en la siguiente imagen:
Por tanto podemos resumir las sentencias implicadas en el uso de transacciones en la siguiente
tabla:
SET AUTOCOMMIT=0 Al ejecutar esta sentencia, MySQL queda configurado para que las
órdenes de modificación que se ejecuten a continuación muestren los
datos tal como quedarían pero realmente no se han modificado en la
base de datos. La confirmación definitiva se realiza con COMMIT, si se
cierra el programa sin confirmar la transacción, ésta no se realiza.
Cuando ponemos este estado, dicho tratamiento de transacciones
permanece hasta que lo cambiemos.
SET AUTOCOMMIT=1 El sistema se comporta de forma que una instrucción queda
confirmada sobre la base de datos en el momento que se ejecuta. A
este modo de confirmación automática se le denomina modo
AUTOCOMMIT.
COMMIT Cuando se ejecuta esta sentencia el sistema actualiza la base de datos
con todos los cambios realizados desde la última vez que se ejecutó
esta sentencia.
Entre dos ejecuciones de COMMIT podríamos ver el efecto de los
cambios pero son cambios virtuales, que no se han producido en la
realidad.
ROLLBACK Cuando tenemos el estado AUTOCOMMIT=0, ROLLBACK devuelve la
base de datos al estado en que se encontraba cuando se realizó el
anterior COMMIT o cuando se estableció AUTOCOMMIT a 0.
Cuando se produce un fallo de software o de hardware que produce
una salida del SGBD accidental, al volver a iniciar el sistema, se
produce un ROLLBACK automático y la base de datos vuelve a un
estado anterior.
SAVEPOINT etiqueta Crea un posible punto de retorno o vuelta atrás en un punto
intermedio de la transacción que se haya iniciado. Todos los puntos
de una transacción se borran al ejecutar COMMIT o ROLLBACK.
ROLLBACK TO Deshace la transacción hasta el punto nombrado como ‘etiqueta’
SAVEPOINT etiqueta
START TRANSACTION Cuando MySQL está en modo AUTOCOMMIT permite que se dé inicio
Ó a una transacción, que se confirmará con COMMIT. Si ejecutamos
BEGIN ROLLBACK la base de datos vuelve al estado previo antes de ejecutar
START TRANSACTION.
Se trata de una única transacción que, una vez finalizada el sistema
vuelve al estado AUTOCOMMIT.
Ficha de autorías y licencias
Miniatura Credenciales del recurso
Título: Configuración inicial de AUTOCOMMIT
en MySQL.
Descripción: Captura de pantalla de las
variables y parámetros del servidor en
PhpMyAdmin, remarcando la configuración de
AUTOCOMMIT
Nombre:
GBD05_AUXR12_R01_Autocommit.png
Autoría: Pst
Licencia: GPL
Procedencia: Elaboración propia. Captura de
pantalla del programa PhpMyAdmin.
Título: Ejemplo de uso de SAVEPOINT en
MySQL.
Descripción: Captura de pantalla de la ejecución
de una transacción utilizando la instrucción
SAVEPOINT en MySQL Workbench, remarcando
la configuración de AUTOCOMMIT
Nombre: GBD05_AUXR12_R02_Savepoint.png
Autoría: Pst
Licencia: GPL
Procedencia: Elaboración propia. Captura de
pantalla del programa MySQL Workbench.