事务
事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性。
事务实例:
create table user( id int primary key auto_increment, name char(32), balance int ); insert into user(name,balance) values ('大木木',1000), ('二木木',1000), ('三木木',1000); #原子操作 start transaction; update user set balance=900 where name='大木木'; #买支付100元 update user set balance=1010 where name='二木木'; #中介拿走10元 update user set balance=1090 where name='三木木'; #卖家拿到90元 commit; #出现异常,回滚到初始状态 start transaction; update user set balance=900 where name='大木木'; #买支付100元 update user set balance=1010 where name='二木木'; #中介拿走10元 uppdate user set balance=1090 where name='三木木'; #卖家拿到90元,出现异常没有拿到 rollback; #回到原来的状态 commit; mysql> select * from user; +----+------+---------+ | id | name | balance | +----+------+---------+ | 1 | 大木木 | 1000 | | 2 | 二木木 | 1000 | | 3 | 三木木 | 1000 | +----+------+---------+ 3 rows in set (0.00 sec)
附:Mysql 基本用法
一、【Mysql 基本用法之视图】
二、【Mysql 基本用法之触发器】
三、【Mysql 基本用法之事务】
四、【Mysql 基本用法之存储过程】
五、【Mysql 基本用法之函数】
六、【Mysql 基本用法之流程控制】