事务

面试题:

原子性(Atomicity): 事务是不可分割的最小操作单位,要么同时成功,要么同时失败
一致性(Consistency) :事务完成时,必须使所有的数据都保持一致状态
隔离性(Isolation) :多个事务之间,操作的可见性
持久性(Durability) :事务一旦提交或回滚,它对数据库中的数据的改变就是永久的

 

 

 

-- 创建账户表
CREATE TABLE account(
id int PRIMARY KEY auto_increment,
name varchar(10),
money double(10,2)
);

-- 添加数据
INSERT INTO account(name,money) values('张三',1000),('李四',1000);

SELECT * FROM account;
UPDATE account SET money = 1000;

-- 转账操作
-- 开始事务
BEGIN;
-- 1. 查询李四的余额
-- 2. 李四金额 -500
UPDATE account SET money = money - 500 WHERE name = '李四';
-- 出错了
-- 3. 张三金额 +500
UPDATE account SET money = money + 500 WHERE name = '张三';

-- 提交事务
commit;

-- 回滚事务
ROLLBACK; -- 开启事务前的状态

posted on 2022-04-08 22:35  我要当程序源  阅读(26)  评论(0编辑  收藏  举报

导航