读书笔记_mysql必知必会_26_管理事务处理

目录

事务处理

控制事务处理

使用ROLLBACK

使用COMMIT

使用保留点

更改默认的提交行为


事务处理

并非所有引擎都支持事务处理

MyISAM InnoDB 是两种最常使用的引擎。前者不支持明确的事务处理管理,而后者支持。
 
事务处理( transaction processing )可以用来维护数据库的完整性,它保证 成批的MySQL操作 要么完全执行,要么完全不执行。
 
事务处理是 一种机制 ,用来管理必须 成批执行的MySQL操作 ,以保证数据库不包含不完整的操作结果。 利用事务处理,可以保证一组操作不会中途停止,它们或者作为整体执行,或者完全不执行(除非明确指示) 。如果没有错误发生,整组语句提交给(写到)数据库表。如果发生错误,则进行回退(撤销)以恢复数据库到某个已知且安全的状态。
 
事务 transaction )指一组 SQL 语句;
回退 rollback )指撤销指定 SQL 语句的过程;
提交 commit )指将未存储的 SQL 语句结果写入数据库表;
保留点 savepoint )指事务处理中设置的临时占位符( place-holder),你可以对它发布回退(与回退整个事务处理不同)。

控制事务处理

MySQL使用下面的语句来标识事务的开始:

使用ROLLBACK

显然, ROLLBACK只能在一个事务处理内使用 (在执行一条 START TRANSACTION命令之后)。

使用COMMIT

一般的 MySQL 语句都是直接针对数据库表执行和编写的。这就是所谓的 隐含提交 implicit commit ),即提交(写或保存)操作是自动进行的。
 
在事务处理块中,提交不会隐含地进行。为进行明确的提交, 使用COMMIT 语句
 
 

使用保留点

简单的 ROLLBACK COMMIT 语句就可以写入或撤销整个事务处理。但是,只是对简单的事务处理才能这样做,更复杂的事务处理可能需要 部分提交或回退
 
为了支持回退部分事务处理,必须能在事务处理块中 合适的位置放置占位符 。这样,如果需要回退,可以回退到某个占位符。
这些占位符称为 保留点
创建占位符
 
回退到本例给出的保留点
 
 

更改默认的提交行为

 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值