En InnoDB
, toda la actividad del usuario se
produce dentro de una transacción. Si el modo de ejecución
automática (autocommit) está activado, cada sentencia SQL
conforma una transacción individual por sí misma. MySQL
siempre comienza una nueva conexión con la ejecución
automática habilitada.
Si el modo de ejecución automática se deshabilitó con
SET AUTOCOMMIT = 0
, entonces puede
considerarse que un usuario siempre tiene una transacción
abierta. Una sentencia SQL COMMIT
o
ROLLBACK
termina la transacción vigente y
comienza una nueva. Ambas sentencias liberan todos los bloqueos
InnoDB
que se establecieron durante la
transacción vigente. Un COMMIT
significa que
los cambios hechos en la transacción actual se convierten en
permanentes y se vuelven visibles para los otros usuarios. Por
otra parte, una sentencia ROLLBACK
, cancela
todas las modificaciones producidas en la transacción actual.
Si la conexión tiene la ejecución automática habilitada, el
usuario puede igualmente llevar a cabo una transacción con
varias sentencias si la comienza explícitamente con
START TRANSACTION
o BEGIN
y la termina con COMMIT
o
ROLLBACK
.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.