事务
DROP TABLE IF EXISTS account;
-- 创建账户表
CREATE TABLE account(
id int PRIMARY KEY auto_increment,
name varchar(10),
money double(10,2)
);
-- 添加数据
INSERT INTO account(name,money) values('张三',1000),('李四',1000);
UPDATE account set money = 1000;
select * from account;
-- 开启事务
BEGIN;-- 临时性操作,对其他窗口未进行更改
-- 转账操作
-- 1. 查询李四账户金额是否大于500
-- 2. 李四账户 -500
update account set money = money -500 where name ='李四';
-- 出错了。。。
-- 出现异常了...
-- 3. 张三账户 +500
update account set money=money +500 where name ='张三';
-- 提交事务
commit;-- 事务的数据会被持久化的更改
-- 回滚事务
rollback;-- 数据恢复成开启事务之前的状态