-- 事务用于将某些操做的多个SQL做为原子性操做,一旦有某一个出现错误,sql
-- 便可回滚到原来的状态,从而保证数据库数据完整性。数据库
-- 事务也就是要么都成功,要么都不成功spa
-- 事务就是由一堆sql语句组成的code
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 ,须要两步操做blog
A 帐户减去 100元事务
B 帐户 加 100元rem
假若 A 帐户减了,B帐户由于网卡了没增长就会出现问题。此时使用事务是很好的运用场景 it
事务能够搭配异常捕捉一块儿使用 io