史上最简单的 MySQL 教程(三十八)「事务(上)」

释放双眼,带上耳机,听听看~!

案例:银行的数据库里面存储着用户的账户信息表,当用户 A 想用户 B 转账的时候,正常情况下,A 账户的余额减少,B 账户的余额增加;但是由于某种原因(例如突然断电),当 A 账户的余额减少之后,B 账户的余额并没有增加,这就造成了数据库数据的安全隐患。

解决方案:当 A 账户的余额减少之后,不要立即修改数据表,而是在确认 B 账户的余额增加之后,同时修改数据表。

事务

通过前面的案例及解决方案,我们就引出了一个全新的概念,那就是:事务,即

  • 一系列将要发生或正在发生的连续操作。

事务安全,是一种保护连续操作同时实现(完成)的机制。事务安全的意义就是,保证数据操作的完整性

首先,执行如下 SQL 语句,创建银行账户表并插入数据:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
1-- 创建银行账户表
2create table bank_account(
3   id int primary key auto_increment,
4   cardno varchar(16) not null unique comment 'bank card number',
5   name varchar(20) not null,
6   money decimal(10,2) default 0.0 comment 'account balance'
7)charset utf8;
8
9-- 插入数据
10insert into bank_account values
11(null, '0000000000000001', 'Charies', 8000),
12(null, '0000000000000002', 'Gavin', 6000);
13
14

给TA打赏
共{{data.count}}人
人已打赏
安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

安全运维

设计模式的设计原则

2021-12-12 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索