5.12 数据库事务

事务

概念

-- 事务用于将某些操做的多个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

相关文章
相关标签/搜索