说明

手动提交事务:先开启,再提交

事务有关的 SQL 语句

| SQL语句 | 描述 | | —- | —- |

| start transaction; | 开启手动控制事务 |

| commit; | 提交事务 |

| rollback; | 回滚事务 |

数据准备

  1. # 创建账号表
  2. create table account(
  3. id int primary key auto_increment,
  4. name varchar(20),
  5. money double
  6. );
  7. # 初始化数据
  8. insert into account values (null,'a',1000);
  9. 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;