MySQL 事务
- 发布
- 分类
- MySQL
- 篇幅
- 570 字 / 1 分钟
- 阅读
- 381
MySQL 事务
START TRANSACTION 或者 BEGIN,作用是显式开启一个事务。
COMMIT:提交事务。当提交事务后,对数据库的修改是永久性的。
ROLLBACK 或者 ROLLBACK TO [SAVEPOINT],意为回滚事务。意思是撤销正在进行的所有没有提交的修改,或者将事务回滚到某个保存点。
SAVEPOINT:在事务中创建保存点,方便后续针对保存点进行回滚。一个事务中可以存在多个保存点。
RELEASE SAVEPOINT:删除某个保存点。
SET TRANSACTION,设置事务的隔离级别。
使用事务有两种方式,分别为隐式事务和显式事务。隐式事务实际上就是自动提交,Oracle默认不自动提交,需要手写COMMIT命令,而MySQL默认自动提交,当然我们可以配置MySQL的参数:
set autocommit = 0; //关闭自动提交
set autocommit = 1; //开启自动提交
completion_type
completion=0,默认值。执行COMMIT的时候会提交事务,在执行下一个事务时,还需要 START TRANSACTION或 者 BEGIN 来开启。
completion=1,提交事务后,相当于执行了COMMIT AND CHAIN,也就是开启一个链式事务,即当我们提交事务之后会开启一个相同隔离级别的事务。
completion=2,这种情况下COMMIT=COMMIT AND RELEASE,也就是当我们提交后,会自动与服务器断开连接。
