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.

