MySQL 5.1 Reference Manual  /  ...  /  Rollback Failure for Nontransactional Tables

B.5.5.5 Rollback Failure for Nontransactional Tables

If you receive the following message when trying to perform a ROLLBACK, it means that one or more of the tables you used in the transaction do not support transactions:

Warning: Some non-transactional changed tables couldn't be rolled back

These nontransactional tables are not affected by the ROLLBACK statement.

If you were not deliberately mixing transactional and nontransactional tables within the transaction, the most likely cause for this message is that a table you thought was transactional actually is not. This can happen if you try to create a table using a transactional storage engine that is not supported by your mysqld server (or that was disabled with a startup option). If mysqld does not support a storage engine, it instead creates the table as a MyISAM table, which is nontransactional.

You can check the storage engine for a table by using either of these statements:


See Section, “SHOW TABLE STATUS Syntax”, and Section, “SHOW CREATE TABLE Syntax”.

You can check which storage engines your mysqld server supports by using this statement:


You can also use the following statement, and check the value of the variable that is associated with the storage engine in which you are interested:


For example, to determine whether the InnoDB storage engine is available, check the value of the have_innodb variable.

See Section, “SHOW ENGINES Syntax”, and Section, “SHOW VARIABLES Syntax”.

Download this Manual
User Comments
Sign Up Login You must be logged in to post a comment.