MySQL comienza cada conexión de cliente con el modo de ejecución automática (autocommit) habilitado por defecto. Cuando la ejecución automática está habilitada, MySQL realiza la confirmación luego de cada sentencia SQL, si dicha sentencia no devuelve un error.
Si se tiene desactivado el modo de ejecución automática y se cierra una conexión sin hacer una confirmación explícita de una transacción, MySQL cancelará dicha transacción.
Si una sentencia SQL devuelve un error, la confirmación o cancelación dependen del error. Consulte Sección 15.15, “Tratamiento de errores de InnoDB”.
Las siguientes sentencias SQL (y sus sinónimos) provocan en MySQL una confirmación implícita de la transacción en curso:
            ALTER TABLE, BEGIN,
            CREATE INDEX, DROP
            DATABASE, DROP INDEX,
            DROP TABLE, LOAD MASTER
            DATA, LOCK TABLES,
            RENAME TABLE, SET
            AUTOCOMMIT=1, START
            TRANSACTION, TRUNCATE,
            UNLOCK TABLES.
          
            Antes de MySQL 5.0.8, CREATE TABLE
            provocaba la confirmación si se empleaba el registro
            binario (binary logging). A partir de MySQL 5.0.8, las
            sentencias CREATE TABLE,
            TRUNCATE TABLE, DROP
            DATABASE, y CREATE DATABASE
            provocan una confirmación implícita.
          
            La sentencia CREATE TABLE en
            InnoDB se procesa como una transacción
            individual. Esto significa que un
            ROLLBACK emitido por el usuario no
            cancelará las sentencias CREATE TABLE
            hechas durante una transacción.
          
É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.

