tempad
ReadyGo!技术成就梦想 >>数据库 >> 某些更改的非事务性表不能被回滚的现象

某些更改的非事务性表不能被回滚的现象

ReadyGo!技术成就梦想 网络搜索 efish 2008-8-2 17:10:41

【-IT技术报道】执行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变量的值。

(责任编辑:卢兆林)

责任编辑: efish 参与评论 查找更多:
相关文章
实例讲解MySQL数据库中应当如何建立外键 实例讲解MySQL数据库中应当如何建立外键
详细讲解如何用SQLyog来分析MySQL数据库 详细讲解如何用SQLyog来分析MySQL数据库
讲解jython访问MySQL数据库的具体步骤 讲解jython访问MySQL数据库的具体步骤
MySQL数据库中如何解决分组统计的问题 MySQL数据库中如何解决分组统计的问题
SAVEPOINT和ROLLBACK TO SAVEPOINT语法 SAVEPOINT和ROLLBACK TO SAVEPOINT语法
MySQL的存储过程写法和"Cursor"的使用 MySQL的存储过程写法和"Cursor"的使用
深入讲解"InnoDB"和"MyISAM"的不同之处 深入讲解"InnoDB"和"MyISAM"的不同之处
实例讲解"MySQL"在记录不存在时的插入 实例讲解"MySQL"在记录不存在时的插入
带你轻松接触一个检测MySQL状态的脚本 带你轻松接触一个检测MySQL状态的脚本
如何安装配置基于2台服务器的MySQL集群 (1) 如何安装配置基于2台服务器的MySQL集群 (1)
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想