• 事务


    一、事务

    1、概念:

      事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所做的所有更改都会被撤销。也就是事务具有原子性,一个事务中的一系列操作要么全部成功,要么一个都不做。

      事务的结束有两种,当事务中的所有步骤全部成功执行时,事务提交;如果其中一个步骤失败,则将发送回滚操作,撤销到事务开始之前的所有操作。

      总结:事务就是一组操作,要么全部完成,要么全部失败!

    2、事务特性ACID

      事务具有四个特征:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这四个特性简称为ACID特性。

      1、原子性(事务内的操作,要么全部成功,要么全部失败)

        事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做。

    create table user(
    	id int primary key auto_increment,
    	name char(32),
    	balance INT
    );
    insert into user(name,balance) values ('wsb',1000),('egon',1000),('ysb',1000)
    
    #原子操作
    
    start TRANSACTION;
    UPDATE user set balance=900 where name = 'wsb'; -- 买东西支付100元
    UPDATE user set balance=1010 where name='egon'; -- 中介拿走10元
    UPDATE user set balance=1090 where name='ysb';  -- 卖家拿到90元
    commit;
    
    #出现异常,回滚到初识状态
    
    start TRANSACTION;
    UPDATE user set balance=900 where name='web';   -- 买东西支付100元
    UPDATE user set balance=1010 where name='egon';  -- 中介拿走10元
    UPDdATE user set balance=1090 where name='ysb';   -- 卖家拿到90元,出现异常没有成功拿到
    rollback;
    COMMIT;
    SELECT * from user;
    
  • 相关阅读:
    停滞的代码
    民兵葛二蛋大结局
    该开始BS了
    今天写出了第一个.NetBS应用
    读源码,仿照
    MVN,老天怎么回事?
    从哪里入手
    学习Java了
    工厂方法模式与简单工厂
    转:悟透JavaScript
  • 原文地址:https://www.cnblogs.com/hzhcdhm/p/8039057.html
Copyright © 2020-2023  润新知