• mysql中的事务


    一、事务的作用

      事务是指一系列将要发生的连续的操作。

      事务安全是为了保证一系列操作的结果保持同步,保证数据的完整性。

      开启事务后,操作的结果会先保存到事务日志中,等操作完成提交事务后,才会修改表中的数据。

      注意:只有innodb存储引擎和bdb存储引擎才支持事务安全。

    二、事务使用

    start transaction;    -- 开启事务
    
    -- SQL语句1...
    
    savepoint sp1;        -- 设置回滚点
    
    -- SQL语句2...
    
    -- 如果操作失败 可以用rollback退回到回滚点
    
    rollback to sp1;
    
    -- SQL语句3...
    
    -- 操作完成后,用commit提交事务
    commit;

    三、自动事务提交

      事务是否自动提交由系统变量autocommit来控制,1为开启,0为关闭。默认是开启状态。

    -- 设置自动事务提交
    set autocommit := 0;  -- mysql中 = 一般用于比较,  := 才是赋值

    四、事务的特性--ACID
      A: atomic, 原子性, 整个事务的操作是一个整体,不可分割,要么全部成功,要么全部失败。

      C: consistency, 一致性,事务操作前后,数据表中的数据没有变化。

      I: isolation, 隔离性, 不同的事务操作是相互隔离,不受影响的。

      D: durability, 持久性, 数据一旦提交, 就不会再改变。

      锁机制:innodb默认是行锁, 但当事务操作的过程中,没有使用到索引,那么就会自动升级为表锁,全表检索数据。

  • 相关阅读:
    MinIO:客户端mc
    jenkins:修改默认工作目录
    Shell:cut工具
    使用ArrayList时代码内部发生了什么(jdk1.7)?
    Heap Sorting 总结 (C++)
    我的第一篇——nginx+naxsi总结篇1
    PHP学习-验证用户名密码
    springboot使用事务
    springboot数据格式验证(二)——自定义日期格式验证
    springboot数据格式验证(一)
  • 原文地址:https://www.cnblogs.com/pengyin/p/6388110.html
Copyright © 2020-2023  润新知