事务处理(transaction processing)可以用来维护数据库的完整性,它保证成批的MySQL操作要么完全不执行,要么完全执行。
控制事务处理
1、开始事务start transaction
2、回滚事务rollback
3、提交事务commit
一般的MySQL语句都是直接针对数据库执行和编写的。这就是所谓的隐含提交,即提交(写或保存)操作是自动进行的。
但是,在事务处理块中,提交不会隐含地提交。必须使用commit
明确地提交。
4、使用保留点
简单的rollback和commit语句都是可以写入或撤销整个事务处理。但是,只是对简单的事务处理才这样做,更复杂的事务处理可能需要部分提交或回退。
为了支持回退部分事务处理,必须能在事务处理块中合适的位置放置占位符。
为了创建占位符,可使用savepoint delete1
语句。每个保留点都取标识它的唯一名字,以便在回退时,MySQL知道回退到何处。为了回退到某个保留点,可以使用rollback to delete1
5、更改默认的提交行为
为指示MySQL不自动提交更改,需要使用以下语句:set autocommit=0;
注意:autocommit标识是针对每个连接而不是服务器的
参考书籍:
- MySQL必知必会