1. 事务的基础知识
mysql的事务分为显式事务和隐式事务
-
默认的事务是隐式事务
-
显式事务由我们自己控制事务的开启,提交,回滚等操作
show variables like 'autocommit';
2. 事务基本语法
事务开始
1、begin
2、START TRANSACTION(推荐)
3、begin work
事务回滚
rollback
事务提交
commit
使用事务插入两行数据,commit后数据还在
使用事务插入两行数据,rollback后数据没有了
3.redo日志
在事务的实现机制上,MySQL采用的是WAL(Write-ahead logging,预写式日志)机制来实现的。
就是所有的修改都先被写入到日志中,然后再被应用到系统中。通常包含redo和undo两部分信息。
redo log称为重做日志,每当有操作时,在数据变更之前将操作写入redo log,这样当发生掉电之类的情况时系统可以在重启后继续操作。
undo log称为撤销日志,当一些变更执行到一半无法完成时