知识点:Mysql 基本用法之事务

事务

事务用于将某些操作的多个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 基本用法之流程控制

posted on 2018-05-28 18:55  一只阿木木  阅读(323)  评论(0编辑  收藏  举报