基本操作
事务的提交方式:自动提交(@@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 事务介绍 (事务篇 一)文章来源:https://www.toymoban.com/news/detail-730731.html
下一篇:MySQL 并发事务问题和隔离级别 (事务篇 三)文章来源地址https://www.toymoban.com/news/detail-730731.html
到了这里,关于MySQL 事务的操作指南(事务篇 二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!