说明
手动提交事务:先开启,再提交
事务有关的 SQL 语句
| SQL语句 | 描述 | | —- | —- |
| start transaction; | 开启手动控制事务 |
| commit; | 提交事务 |
| rollback; | 回滚事务 |
数据准备
# 创建账号表create table account(id int primary key auto_increment,name varchar(20),money double);# 初始化数据insert into account values (null,'a',1000);insert into account values (null,'b',1000);
说明
需求1:a给b转账100元,演示提交事务和回滚事务
-- 需求1:a给b转账100元,演示提交事务和回滚事务
-- 1)转账成功
-- 开启事务
start transaction;
-- a扣款100
update account set money=money-100 where name='a';
-- b收款100
update account set money=money+100 where name='b';
-- 提交事务
commit;
-- 2)失败回滚操作
-- 开启事务
start transaction;
-- a扣款100
update account set money=money-100 where name='a';
-- b收款100
update account set money=money+100 where name='b';
-- 回滚事务
rollback;
