美文网首页
事务处理

事务处理

作者: 想吃热干面了 | 来源:发表于2019-02-26 23:06 被阅读0次

概念

事务,也称为工作单元,是由一个和多个sql语句所组成的操作序列。这些sql是一个完整的单元,要么全成功、要么全失败。用来保证数据库中数据的一致性。

事务处理语言(TRL):

用来对组成事务的DML语句的操作结果进行确认或取消。
确认:使DML操作生效,commit命令实现
取消:使DML操作失效,rollback命令实现

通过事务,可以确保数据库中数据一致,例:两个账户转账。

事务的特性:***

1.原子性:事务就像原子一样不可分割,组成事务的DML操作语言要么全部成功,要么全部失败,不可能出现部分成功部分失败的情况。
2.一致性:一旦事务完成,不管成功或者失败,整个系统处于数据一致的状态
3.隔离性:事务之间互不干扰
4.持久性:一旦事务提交,对数据的改变是永久的,不能被回滚。

Mysql中的数据事务开启方法:

1.用begin、rollback、commint来实现
begin:开始一个事务
rollback:事务回滚
commit:事务提交
2.直接用set来改变事务提交方式
set autocommit = 0 :禁止自动提交
set autocommit = 1 :开始自动提交
但是当用set autocommit = 0 :禁止自动提交时以后所有sql都会被作为事务处理,直到commit确认和rollback结束。注意当这个事务结束时也开启了新的事务!

隐式提交

执行DDL(CREATE,ALTER,DROP,RENAME,TRUNCATE)语句
执行DCL(grant,revoke)语句

隐式回滚

客户端强制退出
系统崩溃
客户端连接到服务器短异常中断

设置保存点

回滚到指定的点 (savepoint来实现)
定义保存点:savepoint 名称
回到指定点:rollback to 名称

相关文章

网友评论

      本文标题:事务处理

      本文链接:https://www.haomeiwen.com/subject/eycgyqtx.html