首页 > 其他分享 >事务-简介以及操作演示

事务-简介以及操作演示

时间:2023-04-13 19:11:35浏览次数:32  
标签:account 演示 name 简介 事务 李四 提交 money

事务:是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,,即这些操作要么同时成功,要么同时失败
默认mysql的事务是自动提交的,也就是说,当执行一条DML语句,mysql会立即隐式地提交服务

事务操作:
查看/设置事务提交方式:select @@autocommit;
set @@autocommit=0;//设置为手动提交

开启事务:start transaction或begin

提交事务:commit

回滚事务:rollback;

代码:
create table account(
id int auto_increment primary key comment '主键ID',
name varchar(10) comment '姓名',
money int comment '余额'
) comment '账户表';
insert into account(id, name, money) VALUES (null,'张三',2000),
(null,'李四',2000);
update account set money=2000 where name='张三' or name='李四';

select @@autocommit;/*查看事务提交方式*/
set @@autocommit=0;/*设置事务提交方式:0为手动提交,1为自动提交*/

-- 转账操作(张三给李四转1000)
-- 1.查询张三账户余额
select * from account where name='张三';

-- 2.将张三的账户余额-1000
update account set money=money-1000 where name='张三';

出现异常...
-- 3.将李四的余额+1000
update account set money=money+1000 where name='李四';

commit;/*提交事务*/

rollback ;/*回滚事务*/


-- 方式二
-- 转账操作(张三给李四转1000)
start transaction ;
-- 1.查询张三账户余额
select * from account where name='张三';

-- 2.将张三的账户余额-1000
update account set money=money-1000 where name='张三';

出现异常...
-- 3.将李四的余额+1000
update account set money=money+1000 where name='李四';

commit;/*提交事务*/

rollback ;/*回滚事务*/

标签:account,演示,name,简介,事务,李四,提交,money
From: https://www.cnblogs.com/123456dh/p/17316053.html

相关文章

  • Q355NE钢板简介、Q355NE性能介绍、Q355NE执行标准
    一、Q355NE钢板简介:Q355NE属于低合金高强结构钢板,Q355NE钢板执行标准为GB/T1591-2018专用技术条件。Q355NE钢板牌号介绍:Q355NE钢板牌号中的Q代表屈服,355代表钢板强度,Q355系列材质分为四个级别分别为(B=20℃冲击、C=0℃冲击、D=-20℃低温冲击、E=-40℃低温冲击)二、Q355NE钢板化学成分......
  • 一个事务插入,另外一个事务更新操作,是否会更新成功?
    1.前言同样另外一个非常有意思的题目,值得我们思考。大概背景是这个样子的。如果有一个事务A进行插入id>100,同时另外一个事务B进行更新updateid>100。那么事务B是否会更新成功。我们来画一个时序图:time事务A事务B备注T1insertid>100setstatus=1T......
  • 微信小程序云开发中的command简介
    微信小程序云开发(WeChatMiniProgramCloudDevelopment)是微信官方推出的一种简化小程序开发的方案。它提供了一个完整的后端云服务,支持数据库、存储、云函数等功能。在云开发中,Command是一个重要的概念,主要用于操作数据库。Command是数据库命令的构造器,它用于构造复杂的数据......
  • CNC工艺全铝外壳5G模组搭配R6S R6C使用演示 RM500U FM650
    关键词:CNC工艺USB3.0typeC全铝外壳R6SR6CRK3588FM650RM500U5GLTEOpenWrtMcuzone野芯科技概述:CNC工艺全铝外壳5G模组在R6S上配置使用演示硬件平台:CNC工艺全铝外壳5G模组R6SR6C软件平台:OpenWrt系统镜像文件:rk3588-usb-friendlywrt-22.03-docker-20230314实物连......
  • spring事务里面开启线程插入,报错了是否会回滚?
    1.前言一道非常有意思的面试题目。大概是这样子的,如果在一个事务中,开启线程进行插入更新等操作,如果报错了,事务是否会进行回滚2.代码示例1@RequestMapping("/test/publish/submit")publicStringtestPublish1(){ log.info("start..."); transactionTemplate.execute(new......
  • Mysql四种事务隔离级别
    先了解一下事务的四大特性:ACID原子性(Atomicity)原子性就是不可拆分的特性,要么全部成功然后提交(commit),要么全部失败然后回滚(rollback)。MySQL通过RedoLog重做日志实现了原子性,在将执行SQL语句时,会先写入redologbuffer,再执行SQL语句,若SQL语句执行出错就会根据redologbuffer中的......
  • Terraform 系列-Terraform 简介
    系列文章......
  • MES的简介和运用
    干货满满!MES的简介和运用https://m.thepaper.cn/baijiahao_19141612政务:上海市机械工程学会 2022-07-2219:45导读谈及MES必须先谈生产,生产体系模型如图所示,涉及人、财、物、信息等资源,产、供、销等环节,以及供应商、客户、合作伙伴等。其中,生产管理是通过对生产系统的战......
  • spring声明式事务(注解)
     xml中开启注解驱动:  ......
  • RobotFramework 简介
    一、RobotFramework(一) Introduction RobotFrameworkisaPython-based,extensiblekeyword-drivenautomationframeworkforacceptancetesting,acceptancetestdrivendevelopment(ATDD),behaviordrivendevelopment(BDD)androboticprocessautomation(RPA)......