zoukankan      html  css  js  c++  java
  • mysql事务

    1 转账,创建表并添加数据

    create table account{
        id int primary key auto_increment,
        name varchar(20) not null,
        money double
    };
    

    image.png

    2 查看mysql是否开启自动提交事务

    select @@autocommit;
    image.png
    取消自动提交
    image.png

    3 开启事务,张三向李四转账500;

    start TRANSACTION;
    
    update account set money = money -500 where name = 'zhangsan';
    
    update account set money = money +500 where name = 'lisi';
    
    COMMIT;
    

    4 事务ACID

    A原子性:整体,不可拆分,要么成功,要么失败
    C一致性:转账前总金额等于转账后总金额
    I事务在执行期不受其它事务影响,保持隔离
    D持久性:关机,也保存下来。持久的。

    5 事务隔离级别

    脏读:一个事务读取到另一个事务没提交的数据
    不可重复读:一个事务两次读取内容不一致
    环读:一次事务中2次读取数据的数量不一致

    6 mysql的4种隔离级别

    隔离级别越高,性能越差

    级别 名字 隔离级别 脏读 不可重复读 幻读
    1 读未提交 read uncommitted
    2 读已提交 read committed
    3 可重复读 repeatbale read
    4 串行 serializable

    7 全局隔离级别

    select @@tx_isolation;

    设置隔离级别
    set globaql transaction isolation level 级别字符串数字
    几种隔离级别演示看纸质教材

  • 相关阅读:
    2018年全国多校算法寒假训练营练习比赛(第二场)F
    牛客练习赛2 A
    牛客练习赛1 C
    牛客练习赛1 B
    vb编程代码大全
    javascript编程代码笔记
    391.FANUC宏程序编程
    宏程序编程实例,简单易懂
    Java类与类之间的关系详细介绍
    C++虚继承时的构造函数的讲解
  • 原文地址:https://www.cnblogs.com/hellosiyu/p/12501808.html
Copyright © 2011-2022 走看看