时间:2021-07-01 10:21:17 帮助过:3人阅读
1.什么是事物
事物是逻辑上的一组操作,要么都成功,要么都失败
2.为什么需要事物
很多时候一个数据操作,不是一个sql语句就完成的,可能有很多个sql语句,如果部分sql执行成功而部分sql执行失败将导致数据错乱!
3.使用事物
start transaction; #开启事物,在这条语句之后的sql将处在同一事物,并不会立即修改数据库
commit;#提交事物,让这个事物中的sql立即执行数据的操作;
rollback; 回滚事物,取消这个事物,这个事物不会对数据库中的数据产生任何影响
案列:转账过程中发生异常
create table account(id int primary key auto_increment,name char(20),money double);
insert into account values(1,‘赵大儿子‘,1000);
insert into account values(2,‘刘大牛‘,1000);
insert into account values(3,‘猪头三‘,1000);
insert into account values(4,‘王进‘,1000);
insert into account values(5,‘黄卉‘,1000);
start transaction;
update account set money = money - 500 where id =1;
update account set money = money +500 where id =2;
commit;
rollback;
注意;事物的回滚的前提是能捕捉到异常否则无法决定何时回滚,python 中很简单就实现了,
MySQL中需要使用存储过程才能捕获异常!
MySQL 高级(3)
标签:action name upd sql语句 高级 实现 cti 修改 rollback