1.mysql事务是针对innodb引擎的表,只有innodb的表支持事务。

2.事务语法:

start transaction

语句

[savepoint 名称]

[rollback|rollback to 名称]

[语句]

commit [and][chain][and][release]

start transaction:表示事务的开始

savepoint:这个是设置回滚点 用rollback to savepoint名称

commit:开始提交事务执行

CHAIN和RELEASE子句分别用来定义在事务提交或者回滚之后的操作,chain会立即启动一个新事务,并且和刚才的事务具有相同的隔离级别,release则会断开和客户端的连接。

 

3.set autocommit=1的时候就是事务自动提交

 

4.当开始一个事务的时候,那关于这个表的锁就会解开,所以事务会触发一个解锁的行为

5.一个事务里的涉及的表最好都是innodb的表,不要参与myisam引擎的表,否则rollback时需要对非事务类型的表进行特别的处理,因为commit、rollback只能对事务类型的表进行提交和回滚。
通常情况下,只对提交的事务纪录到二进制的日志中,但是如果一个事务中包含非事务类型的表,那么回滚操作也会被记录到二进制日志中,以确保非事务类型表的更新可以被复制到从的数据库中。

 

posted on 2015-08-31 16:55  统一B界  阅读(133)  评论(0)    收藏  举报