为什么需要事务?
事务
四个特性
事务是必须满足4个条件(ACID):原子性(也称 不可分割性)、一致性、隔离性(也称 独立性)、持久性。
MySQL中事务状态
MySQL事务重要控制语句
代码示例
创建表t
CREATE TABLE t(
id INT,
`name` VARCHAR(32)
)
开启事务
方式1
START TRANSACTION
方式2
BEGIN
执行 dml 操作添加记录
INSERT INTO t VALUE (20, 'JSON')
设置保存点a
SAVEPOINT a
再次添加记录
INSERT INTO t VALUE (30, '张三')
回滚
-- 回滚a
ROLLBACK TO a
-- 回滚b
ROLLBACK TO b
-- 全部回滚, 回退到事务开始的状态
ROLLBACK
提交
-- 提交(结束)事务, 提交后不能回滚, 同时删除已设置的保存点
COMMIT
提交事务
注意事项
修改MySQL默认提交事务方式
-- 关闭
SET autocommit=off
SET autocommit=0
-- 打开
SET autocommit=ON
SET autocommit=1