目录
一、事务
事务: 指的是逻辑上的⼀组操作,组成这组操作的各个单元要么全都成功,要么全都失败
事务作⽤:保证在⼀个事务中多次SQL操作要么全都成功,要么全都失败.
比如:银行转账,小明有50元,小红有10元,小明向小红转账10元,在数据库操作中相当于执行了两条SQL语句。如果不同时成功或失败,那么转账系统将会出问题
UPDATE account SET money=money-10 WHERE id=1;-- 小明账户减10元
UPDATE account SET money=money+10 WHERE id=2;-- 小红账户加10元
想让这两个操作要么全成功,要么全失败。如何保证呢?就需要把他们放到同一个事务里面进行操作。
在datagrip上执行:
# 创建账号表
create table account(
id int primary key auto_increment COMMENT '主键',
name varchar(20) COMMENT '姓名',
money double COMMENT '余额'
);
# 初始化数据
insert into account values (1,'小明',50);
insert into account values (2,