MySQL 9.0 发行说明
如果您在尝试执行 ROLLBACK
时收到以下消息,则表示您在事务中使用的一个或多个表不支持事务
Warning: Some non-transactional changed tables couldn't be rolled back
这些非事务表不受 ROLLBACK
语句影响。
如果您没有故意在事务中混合事务表和非事务表,则此消息最可能的原因是您认为是事务表的表实际上并非如此。如果您尝试使用您的 mysqld 服务器不支持的事务存储引擎(或使用启动选项禁用了的事务存储引擎)创建表,就会出现这种情况。如果 mysqld 不支持存储引擎,它将改为创建一个 MyISAM
表,该表是非事务性的。
您可以使用以下任一语句检查表的存储引擎
SHOW TABLE STATUS LIKE 'tbl_name';
SHOW CREATE TABLE tbl_name;
请参见 第 15.7.7.37 节,“SHOW TABLE STATUS 语句” 和 第 15.7.7.11 节,“SHOW CREATE TABLE 语句”。
要检查您的 mysqld 服务器支持哪些存储引擎,请使用以下语句
SHOW ENGINES;
有关完整详细信息,请参见 第 15.7.7.17 节,“SHOW ENGINES 语句”。