Si usted recibe el siguiente mensjae cuando intenta realizar un
ROLLBACK
, significa que una o más de las
tablas que utilizó en la transacción no tienen soporte para
trasacciones:
Warning: Some non-transactional changed tables couldn't be rolled back
Estas tablas no transaccionales no se ven afectadas por la
sentencia ROLLBACK
.
Si usted no estaba mezclando tablas transaccionales y no
transaccionales deliberadamente en la transacción, la razón
más probable para que este mensaje aparezca es que una tabla
que usted pensaba que era transaccional no lo es realmente. Esto
puede pasar si usted intenta crear una tabla utilizando un motor
de almacenamiento que no está configurado en su servidor
mysqld (o que fue desactivado con una opción
inicial). Si mysqld no tiene soporte para ese
motor de almacenamiento, crea la tabla como una tabla
MyISAM
, que es no transaccional.
Puede comprobar el tipo de una tabla utilizando cualquiera de las siguientes sentencias:
SHOW TABLE STATUS LIKE 'nombre_de_tabla
'; SHOW CREATE TABLEnombre_de_tabla
;
Consulte Sección 13.5.4.18, “Sintaxis de SHOW TABLE STATUS
” y
Sección 13.5.4.5, “Sintaxis de SHOW CREATE TABLE
”.
Puede consultar qué motores de almacenamiento soporta su servidor mysqld mediante la sentencia:
SHOW ENGINES;
Anteriormente a MySQL 4.1.2, la sentencia SHOW
ENGINES
no está disponible. Utilice la siguiente
sentencia en su lugar y compruebe el valor de la variable que
está asociada al motor de almacenamiento en el que está
interesado:
SHOW VARIABLES LIKE 'have_%';
Por ejemplo, para determinar si el motor
InnoDB
está disponible, compruebe el valor
de la variable have_innodb
.
Consulte Sección 13.5.4.8, “Sintaxis de SHOW ENGINES
” y
Sección 13.5.4.21, “Sintaxis de SHOW VARIABLES
”.
É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.