事务和事务回滚
1、定义 :一件事从开始发生到结束的整个过程
2、作用 :确保数据一致性
3、事务和事务回滚应用
1、MySQL中sql命令会自动commit到数据库
show variables like "autocommit";
2、事务应用
1、开启事务
mysql> begin;
mysql> ...一条或多条SQL语句
## 此时autocommit被禁用
2、终止事务
mysql> commit; | rollback;
3、案例
1、背景
你 :建行卡
你朋友 :工商卡
你在建行自动取款机给你朋友的工商卡转账5000元
2、建表
表1、CCB
create table CCB(
name varchar(15),
money decimal(20,2)
);
insert into CCB values("只手遮天",10000);
表2、ICBC
create table ICBC(
name varchar(15),
money decimal(20,2)
);
insert into ICBC values("为所欲为",1000);
3、开始转账
mysql> begin;
mysql> update CCB set money=money-5000 where name="只手遮天";
mysql> update ICBC set money=money+5000 where name="为所欲为";
mysql> commit;
#### 转账成功 ####