MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  非トランザクションテーブルのロールバックの失敗

B.3.4.5 非トランザクションテーブルのロールバックの失敗

ROLLBACK を実行しようとしたときに次のメッセージを受け取った場合は、トランザクションで使用された 1 つ以上のテーブルがトランザクションをサポートしていないことを意味します。

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;

セクション13.7.7.38「SHOW TABLE STATUS ステートメント」およびセクション13.7.7.10「SHOW CREATE TABLE ステートメント」を参照してください。

mysqld サーバーによってサポートされるストレージエンジンを確認するには、次のステートメントを使用します。

SHOW ENGINES;

詳細は、セクション13.7.7.16「SHOW ENGINES ステートメント」を参照してください。


関連キーワード:  テーブル, トランザクション, ステートメント, 一般, サーバー, エラー, ストレージ, エンジン, 方法, TABLE