5.12 数据库事务
事务
概念
-- 事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,
-- 即可回滚到原来的状态,从而保证数据库数据完整性。
-- 事务也就是要么都成功,要么都不成功
-- 事务就是由一堆sql语句组成的
使用
create table user( id int primary key auto_increment, name char(32), balance int #用户余额 ); insert into user(name,balance) values('海燕',200), ('哪吒',200), ('小哈',200); -- 如果都成功就执行commit,,,如果不成功就执行rollback。 start transaction #开启事务 update user set balance = 100 where name = '海燕'; update user set balance = 210 where name = '哪吒'; update user set balance = 290 where name = '小哈'; #sql语句错误就会报错了 commit; #如果所有的sql语句都没有出现异常,应该执行commit start transaction update user set balance = 100 where name = '海燕'; update user set balance = 210 where name = '哪吒'; updatezzzz user set balance = 290 where name = '小哈'; #sql语句错误就会报错了 rollback; #如果任意一条sql出现异常,都应该回归到初始状态
事务注意点
比如付款转账操作,比如 A 转账给 B ,需要两步操作
A 账户减去 100元
B 账户 加 100元
倘若 A 账户减了,B账户因为网卡了没增加就会出现问题。此时使用事务是很好的运用场景
事务可以搭配异常捕捉一起使用
本文来自博客园,作者:羊驼之歌,转载请注明原文链接:https://www.cnblogs.com/shijieli/p/10344666.html