ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

事务_基本演示和事务_默认自动提交&手动提交

2022-07-27 13:31:48  阅读:46  来源: 互联网

标签:事务 set 演示 account 提交 balance 500


事务的基本介绍
概念:
如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败
image
操作:
开启事务:start transaction;
回滚:rollback;
提交:commit

create table account(
id int primary key auto_increment,
name varchar(10),
balance double
);

insert into account(name,balance) values("张三",1000),("李四",1000);

select * from account;

update account set balance = 1000;

-- 开启事务
start transaction;

-- 张三给李四转账500块
-- 1.张三账户 - 500
update account set balance = balance - 500 where name = "张三";

-- 2.李四账户 + 500
update account set balance = balance + 500 where name = "李四";

-- 事务提交 发现没有问题提交事务
commit;
-- 事务回滚  发现出现问题 回滚事务
ROLLBACK;

事务_默认自动提交&手动提交

视图提交的两种方法:
自动提交:
mysql就是自动提交的
一条DML(增删改)语句会自动提交一次事务.
手动提交:
需要先开启事务,在提交

修改事务额默认提交方式:
查看事务的默认提交方式:select @@autocommit; --1代表自动提交 0代表手动提交
修改默认提交的方式:set @@autocommit = 0;
image

select @@autocommit;

set @@autocommit = 0;

select * from account;
update account set balance = balance - 500 where name = "张三";
update account set balance = balance + 500 where name = "李四";

commit;
set @@autocommit = 1;

标签:事务,set,演示,account,提交,balance,500
来源: https://www.cnblogs.com/ailhy/p/16524291.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有