zoukankan      html  css  js  c++  java
  • MySQL事务以及特征

    1.什么是事务?

      在现实生活中,我们往往会进行转账操作。转账可以分为两部分完成,转入和转出,只要两部分都完成了才算转账完成。在数据库中,这个过程是由两条sql语句来完成的,

    如果任意一方的语句没有执行,会导致两个账号的资金不能同步。

      为了防止这种情况的发生,MySQL引入了事务。所谓的事务就是针对数据库的一组操作,可以由多条语句组成。事务具有同步的特点。

    2.使用事务,先要开启事务。

     start transaction;

      

    提交事务

    commit;
    

    在MySQL中直接书写的SQL语句都是自动提交的,而事务中的操作语句需要使用commit语句手动提交,只有事务提交后其中的操作才会生效。

    如果不想提交事务,我们还可以使用相关语句取消事务(也称回滚),具体语句如下:

    rollback;
    

    需要注意的是,rollback语句只能针对未提交的事务执行的回滚操作,已经提交的事务是不能回滚的。

    事务操作的特性:必须满足ACID

    ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

    • 原子性:是指事务是一个不可再割分的工作单位,事务中的操作要不都发生,要么都不发生。
    • 一致性:是指事务开始和结束,数据库都没有收到破坏。也就是说,数据库事务不能破坏关系型数据库的完整性和业务逻辑上的一致性。
    • 隔离性:是指并发的事务都是相互隔离的。即就是一个事务内的操作和正在操作的数据必须封锁起来,不被企图修改的事务看到。
    • 持久性:是指在事务完成之后,事务对数据库的更改已经持久的保存在数据库中了,并不会回滚。即使出现了断电等情况,只要事务提交了,就会持久的存储在数据库中。
  • 相关阅读:
    由 container 一词所想到的
    突然间,firebug中不显示用console.log打印的信息了
    学习计划表-快照-2017.2.16
    学习编程让我成功减肥!
    什么是编程?
    计算两个事件之间的时间差
    使用substring和split方法从字符串中抽取一组清单
    js中十进制数转换为16进制
    Definition of success-成功的定义
    如何让老式浏览器支持html5新增的语义元素
  • 原文地址:https://www.cnblogs.com/wqzn/p/10550873.html
Copyright © 2011-2022 走看看