zoukankan      html  css  js  c++  java
  • mysql 事务使用教程

    一.什么是事务

      事务Transaction,是指作为一个基本工作单元执行的一系列SQL语句的操作,要么完全地执行,要么完全地都不执行。
     

    二.事务的特性

     
        原子性
            事务是一个整体 ; 不允许出现成功一半失败一半的情况, 如果后续步骤有失败那么就将前面成功的操作进行回退(撤销 回滚)
     
        一致性
            从一个一致性状态切换到另一个一致性状态
     
        隔离性
            事务的结果在最终提交之前对于外界是不可见的<外界不可见事务的中间状态>
     
        持久性
            一旦提交数据到数据库中 就会永久保存; 一旦提交不允许撤销<回滚>
     

    三.事务的使用方法

      1.开启事务
        begin;
          或者
           start transaction;
      2.回滚事务
        如果想要放弃之前的修改,返回到事务开始前的状态,可以对事务进行回滚(事务执行失败会自动回滚)
        rollback;
      3.事务的提交
        如果确定要修改数据,需要执行事务提交指令(不执行事务回滚,事务提交,事务会一直处于未完成状态)
        commit;
     
      使用事务的注意事项
          1. mysql命令行 insert update delete默认自动开启事务 默认会自动提交
          2. 参数 set autocommit = 0 可以关闭自动提交  就可以在自动开启事务的情况下 手动提交事务
          3. 不能回滚的操作 创建/删除  数据库/表结构 create/drop table等<隐式提交>
          4. 能够回滚的操作 对表数据的 insert update delete
     

  • 相关阅读:
    [nodejs]npm国内npm安装nodejs modules终极解决方案
    [nodejs]解决mysql和连接池(pool)自动断开问题
    [nodejs]国内npm安装nodejs modules失败的几个解决方案
    [less]用webstorm自动编译less产出css和sourcemap
    [javascript] Promise API
    [javascript]巧用sourcemap快速定位javascript中的问题
    Gruntjs提高生产力(四)
    Gruntjs提高生产力(三)
    Gruntjs提高生产力(二)
    Gruntjs提高生产力(一)
  • 原文地址:https://www.cnblogs.com/xuchuankun/p/9440232.html
Copyright © 2011-2022 走看看