概述
案例:银行的数据库里面存储着用户的账户信息表,当用户 A 想用户 B 转账的时候,正常情况下,A 账户的余额减少,B 账户的余额增加;但是由于某种原因(例如突然断电),当 A 账户的余额减少之后,B 账户的余额并没有增加,这就造成了数据库数据的安全隐患。
解决方案:当 A 账户的余额减少之后,不要立即修改数据表,而是在确认 B 账户的余额增加之后,同时修改数据表。
事务
通过前面的案例及解决方案,我们就引出了一个全新的概念,那就是:事务,即
- 一系列将要发生或正在发生的连续操作。
而事务安全,是一种保护连续操作同时实现(完成)的机制。事务安全的意义就是,保证数据操作的完整性。
首先,执行如下 SQL 语句,创建银行账户表并插入数据:
-- 创建银行账户表
create table bank_account(
id int primary key auto_increment,
cardno varchar(16) not null unique comment 'bank card number',
name varchar(20) not null,
money decimal(10,2) default 0.0 comment 'account balance'
)charset utf8;
最后
以上就是美满丝袜为你收集整理的史上最简单的 MySQL 教程(三十八)「事务(上)」事务的全部内容,希望文章能够帮你解决史上最简单的 MySQL 教程(三十八)「事务(上)」事务所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复