#### B.3.4.5 非事务性表的回滚失败

[](<>)

如果您在尝试执行某项操作时收到以下消息[`回滚`](commit.html)，则表示您在事务中使用的一个或多个表不支持事务：

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

这些非事务性表不受[`回滚`](commit.html)陈述。

如果您没有故意在事务中混合事务性和非事务性表，则此消息的最可能原因是您认为是事务性的表实际上不是。如果您尝试使用您不支持的事务存储引擎创建表，则可能会发生这种情况[**mysqld**](mysqld.html)服务器（或使用启动选项禁用）。如果[**mysqld**](mysqld.html)不支持存储引擎，而是将表创建为`MyISAM`表，这是非事务性的。

您可以使用以下任一语句检查表的存储引擎：

```
SHOW TABLE STATUS LIKE 'tbl_name';
SHOW CREATE TABLE tbl_name;
```

看[第 13.7.7.38 节，“SHOW TABLE STATUS 语句”](show-table-status.html)， 和[第 13.7.7.10 节，“SHOW CREATE TABLE 语句”](show-create-table.html).

检查您的存储引擎[**mysqld**](mysqld.html)服务器支持，使用这个语句：

```
SHOW ENGINES;
```

看[第 13.7.7.16 节，“SHOW ENGINES 语句”](show-engines.html)完整的细节。
