When performing a rollback (rollback), if you receive the following message that 1 or more tables used in the transaction do not support transactions:
Warning: Some of the changed non-transactional tables cannot be rolled back.
These non-transactional tables are not affected by the rollback statement.
If transactional and non-transactional tables are mixed in a transaction, the most likely cause of this message is that the table you think should be transactional is actually not. This can occur if you attempt to create a table using a transactional storage engine that is not supported by the MYSQLD server (or it is blocked with startup options). If MYSQLD does not support the storage engine, it will create the table as a MyISAM table, which is a non-transactional table.
You can use one of the following statements to check the standard type of a table:
SHOW TABLE STATUS LIKE 'tbl_name';
SHOW CREATE TABLE tbl_name;
Use the following statement to check the storage engine supported by the MYSQLD server:
SHOW ENGINES;
You can also check the value of the variable that is relevant to the storage engine you are interested in by using the following statement:
SHOW VARIABLES LIKE 'have_%';
For example, to determine whether the InnoDB storage engine is available, you can check the value of the HAVE_INNODB variable.