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 陳述式」以取得完整詳細資訊。