| 導購 | 订阅 | 在线投稿
分享
 
 
 

某些更改的非事務性表不能被回滾的現象

來源:互聯網  2008-06-01 02:50:43  評論

執行ROLLBACK(回滾)時,如果收到下述消息,表示事務中使用的1個或多個表不支持事務:

警告:某些更改的非事務性表不能被回滾。

這些非事務性表不受ROLLBACK語句的影響。

如果在事務中意外地混合了事務性表和非事務性表,導致該消息的最可能原因是,你認爲本應是事務性的表實際上不是。如你試圖使用mysqld服務器不支持的事務性存儲引擎(或用啓動選項禁止了它)創建表,就可能出現該情況。如果mysqld不支持存儲引擎,它將以MyISAM表創建表,這是非事務性表。

大家可以使用下述語句之一檢查表的標類型:

SHOW TABLE STATUS LIKE 'tbl_name';

SHOW CREATE TABLE tbl_name;

使用下述語句,可檢查mysqld服務器支持的存儲引擎:

SHOW ENGINES;

也可以使用下述語句,檢查與你感興趣的存儲引擎有關的變量值:

SHOW VARIABLES LIKE 'have_%';

例如,要想確定InnoDB存儲引擎是否可用,可檢查have_innodb變量的值。

執行ROLLBACK(回滾)時,如果收到下述消息,表示事務中使用的1個或多個表不支持事務: 警告:某些更改的非事務性表不能被回滾。 這些非事務性表不受ROLLBACK語句的影響。 如果在事務中意外地混合了事務性表和非事務性表,導致該消息的最可能原因是,你認爲本應是事務性的表實際上不是。如你試圖使用mysqld服務器不支持的事務性存儲引擎(或用啓動選項禁止了它)創建表,就可能出現該情況。如果mysqld不支持存儲引擎,它將以MyISAM表創建表,這是非事務性表。 大家可以使用下述語句之一檢查表的標類型: SHOW TABLE STATUS LIKE 'tbl_name'; SHOW CREATE TABLE tbl_name; 使用下述語句,可檢查mysqld服務器支持的存儲引擎: SHOW ENGINES; 也可以使用下述語句,檢查與你感興趣的存儲引擎有關的變量值: SHOW VARIABLES LIKE 'have_%'; 例如,要想確定InnoDB存儲引擎是否可用,可檢查have_innodb變量的值。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有