MySQL transaction tables and non-transactional tables
When viewing the Max_binlog_stmt_cache_size parameter interpretation (Getting Started tutorial qkxue.net), there is such a word if nontransactional statements within a transaction require More than this many bytes of memory, the server generates an error.
So, what is nontransactional statements?
In http://dev.mysql.com/find the nontransactional keyword, the first one out is Rollback Failure for nontransactional Tables.
So what is nontransactional Tables?
Nontransactional Tables (Tengyun technology ty300.com), non-transactional tables, tables that do not support transactions, that is, tables that use the MyISAM storage engine.
The non-transactional table is characterized by a rollback not supported, see the following
>create table No_trans (id int) Engine=myisam; >start transaction; >insert into No_trans values (1); >select * from No_trans; +------+ | ID | +------+ | 1 | +------+ 1 row in Set (0.00 sec) >rollback; Query OK, 0 rows affected, 1 Warning (0.00 sec) >show warnings; +---------+------+---------------------------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------------------------+ | Warning | 1196 | Some non-transactional changed tables couldn ' t be rolled back | +---------+------+---------------------------------------------------------------+ 1 row in Set (0.00 sec) > SELECT * from No_trans; +------+ | ID | +------+ | 1 | +------+ 1 row in Set (0.00 sec)
You can see that non-transactional table rollback throws a warning that the non-transactional table does not support rollback.
With non-transactional table objects is a transaction table, such as a table using InnoDB, which supports rollback operations.
Manuscripts: Diligent Learning qkxue.net
Read the full version of MySQL transaction table and non-transactional table
MySQL transaction tables and non-transactional tables