美文网首页
事务处理

事务处理

作者: 想吃热干面了 | 来源:发表于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