当前位置:首页 > 编程笔记 > 正文
已解决

MySQL 事务的操作指南(事务篇 二)

来自网友在路上 135835提问 提问时间:2023-09-27 08:37:10阅读次数: 35

最佳答案 问答题库358位专家为你答疑解惑

基本操作

事务的提交方式:自动提交(@@autocommit=1)和手动提交(@@autocommit=0)

查询和修改事务提交方式:

-- 查看事务提交方式(@@标识表示这是个系统变量)
select  @@autocommit ;-- 修改事务提交方式为自动提交
set @@autocommit = 0 ;

事务基本操作

-- 开始事务
start transaction  
-- 或 
begin transaction ;-- 提交事务
commit;-- 回滚事务
rollback;

转账示例使用

初始状态:

事务操作(要把事务操作变为手动提交)

-- 开启事务
start transaction-- 1. 查询余额
select * 
from account 
where name = '张小明';-- 2. 张小明的余额减少1000
update account 
set money = money - 1000 where name = '张小明';-- 在中间随便添加个异常,模拟操作错误
wwwwwwwww-- 3. 李小红的余额增加1000
update account 
set money = money + 1000 where name = '李小红';-- 如果正常执行完毕, 则提交事务
commit;-- 如果执行过程中报错, 则回滚事务
rollback;

执行结果:还是初始状态,因为事务处理过程报错会回滚

不开启事务执行:

-- 1. 查询余额
select * 
from account 
where name = '张小明';-- 2. 张小明的余额减少1000
update account 
set money = money - 1000 where name = '张小明';-- 在中间随便添加个异常,模拟操作错误
wwwwwwwww-- 3. 李小红的余额增加1000
update account 
set money = money + 1000 where name = '李小红';

执行结果:发现数据逻辑出错(出现只减不增的情况)

上一篇:MySQL 事务介绍 (事务篇 一)

下一篇:MySQL 并发事务问题和隔离级别 (事务篇 三)

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"MySQL 事务的操作指南(事务篇 二)":http://eshow365.cn/6-14550-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!