非事务性语句

对MySQL无效数据的约束

11-08
在MySQL 5.0.2之前,MySQL对非法或不当值并不严厉,而且为了数据输入还会强制将它们变为合法值.在MySQL 5.0.2和更高版本中,保留了以前的默认行为,但你可以为不良值选择更传统的处理方法,从而使得服务器能够拒绝并放弃出现不良值的语句.本节介绍了MySQL的默认行为(宽大行为),新的严格的SQL模式,以及它们的区别. 如果你未使用严格模式,下述情况是真实的.如果将"不正确"的值插入到列,如将NULL值插入非NULL列,或将过大的数值插入数值列,MySQL会将这些列设置为&

Mysql非事务表回滚失败的现象

11-02
执行ROLLBACK(回滚)时,如果收到下述消息,表示事务中使用的1个或多个表不支持事务: 警告:某些更改的非事务性表不能被回滚. 这些非事务性表不受ROLLBACK语句的影响. 如果在事务中意外地混合了事务性表和非事务性表,导致该消息的最可能原因是,你认为本应是事务性的表实际上不是.如你试图使用MySQLd服务器不支持的事务性存储引擎(或用启动选项禁止了它)创建表,就可能出现该情况.如果mysqld不支持存储引擎,它将以MyISAM表创建表,这是非事务性表. 可使用下述语句之一检查表的标类型:

关于MySQL记录非事务性语句的疑问

03-19
MySQL 版本:mariadb 5.5.30 OS版本: centos 5.6 x86_64 摘自网络一段话:"事务是按照提交的顺序写入binlog内,MySQLserver 为区分不同的线程的语句,为每个线程都保持一个事务缓存,事务中执行的每个语句都放在事务缓存中,然后事务缓存的内容被复制到binlog中,且在事务提交时被清空." 以上这句话我是认同的,下面我们探讨下binlog如何记录非事务性语句: 当没有事务活动时,非事务性语句会被直接写入binlog里面而不需要经过事务缓存:

ORACLE回滚段管理(上)

02-09
oracle 回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念, 用法和规划及问题的解决. 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值).回滚段的头部包含正 在使用的该回滚段事务的信息.一个事务只能使用一个回滚段来存放它的回滚信息,而一个回滚 段可以存放多个事务的回滚信息. 回滚段的作用 事务回滚:当事务修改表中数据的时候,该数据修改前的值(即前影像)会存放在回滚段中,当用 户回滚事务(ROLLBACK)时,ORACLE将会利