码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-05-28 19:23:22      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:row   知识   lin   insert   date   back   line   ble   异常   

事务

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

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

标签:row   知识   lin   insert   date   back   line   ble   异常   

原文地址:https://www.cnblogs.com/yizhiamumu/p/9101735.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!