zoukankan      html  css  js  c++  java
  • (7)MySQL的事务

    什么是事物:

    作用:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样

    例:现实生活中的一个转账场景

    A 账户有5000  B账户有5000

    A要向B转账500,如果没有任何意外此时B的账户中应有5500,但是凡事都会有意外,A在转账的时候突然断电或者出现了意外,此时A的账户已经减了500,但是B的账户没有增加,所以开启事物就是要保证这个转账的过程中的所有操作都要完成,如果有一个操作不完成就会视为操作无效,数据回滚,A的余额不会减,B的余额不会增加

    PS:其实底层就是代码语句的执行完整性,因为A减少需要代码语句,B增加也需要代码语句,整个过程中只要代码语句执行不完整,事物就会视为操作无效,数据回滚到事物开启的时候最初的状态

    事务实例:开启事务

    '''这里新建一张表'''

    create table use1(

      id int unsigned auto_increment primary key,

      name char(32) not null default'',

      money int not null default 0

      )charset=utf8;

    表内添加数据:insert into user1(name,money) values('A',5000) ,('B',5000)

    1、开启事务: start transaction; 

    2、A开始转账:update user1 set money=4500 where id=1;

    3、B开始收钱:update user1 set monet=5500 where id=2;

    4、提交事务:  commit;

    如果误操作或者操作不满意

    就是用回滚:rollback

  • 相关阅读:
    创业公司新品如何寻求科技媒体的报道?
    DevStore分享:详析消费者十大心理学
    DevStore教你如何玩转饥饿营销?
    iClap分享:如何优雅的在 APP 中实现测试?
    java内部类
    Tostring 的用法
    Java 集合详解
    Java集合浅析
    异常--解析
    is-a 、have-a、和 like-a的区别
  • 原文地址:https://www.cnblogs.com/shizhengquan/p/10302590.html
Copyright © 2011-2022 走看看