MySQL事务

MySQL 命令行下事务默认自动提交,即执行 SQL 语句后就会马上执行 COMMIT 操作。因此要显式地开启一个事务务须使用命令 BEGIN,或者执行命令 SET AUTOCOMMIT = 0,用来禁止使用当前会话的自动提交。

改变自动提交模式

1
2
3
4
5
禁止自动提交
SET AUTOCOMMIT = 0;

开启自动提交
SET AUTOCOMMIT = 1;

语法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
显式开启一个事务
BEGIN;
START TRANSACTION;

提交事务
COMMIT;
COMMIT WORK;

回滚
ROLLBACK;
ROLLBACK WORK;

创建保存点
SAVEPOINT name;

删除保存点
RELEASE SAVEPOINT name;

事务隔离级别

  • READ UNCOMMITTED
  • READ COMMITTED
  • REPEATABLE READ
  • SERIALIZABLE
作者

Shanti

发布于

2016-03-12

更新于

2022-08-25

许可协议