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

  • 相关阅读:
    docker-compose
    Cassandra
    npm常用命令
    k8s linux win10
    wsl2 docker 迁移
    docker http 代理
    mysql查看当前所有的数据库和索引大小
    mybatis 遍历list拼接 or查询
    es head crud
    nginx 代理转发mysql
  • 原文地址:https://www.cnblogs.com/shizhengquan/p/10302590.html
Copyright © 2011-2022 走看看