---
title: "事务管理概述 - OceanBase 数据库 V4.5.0 | OceanBase 文档中心"
description: 事务管理概述 本文主要介绍事务的基本信息和相关控制语句。 事务简介 数据库事务包含了数据库上的一系列操作，事务使得数据库从一个一致的状态转化到另一个一致的状态。通常事务中的 SQL 会包含 DML 语句，也会包含查询语句。如果一个事务中的 SQL 只有查询语句，这个事务通常称为只读事务。 事务在没有提交之前，可以使用…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.5.0

# 事务管理概述

更新时间：2026-03-02 15:03:33

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.5.0/zh-CN/300.develop/100.application-development-of-mysql-mode/600.transaction-in-develop-of-mysql-mode/100.transaction-management-overview-of-mysql-mode.md)  

本文主要介绍事务的基本信息和相关控制语句。

## 事务简介

数据库事务包含了数据库上的一系列操作，事务使得数据库从一个一致的状态转化到另一个一致的状态。通常事务中的 SQL 会包含 DML 语句，也会包含查询语句。如果一个事务中的 SQL 只有查询语句，这个事务通常称为只读事务。

事务在没有提交之前，可以使用 `ROLLBACK` 命令回滚事务。更多事务相关的说明，请参考 [事务简介](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476814)。

## 事务控制语句

基本事务控制语句如下：

- [BEGIN](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476109)：显式开启一个事务。此语句在使用过程中可选：

     - 当租户会话的系统变量 `autocommit` 的值为 `0` 时，表示关闭事务自动提交功能，不需要显式发出 `BEGIN` 命令来标识多个 SQL 组成一个事务。。
     - 当租户会话的系统变量 `autocommit` 的值为 `1` 时，表示开启事务自动提交功能，该模式下，每条 SQL 都是一个独立的事务。如果要多个 SQL 组成一个事务，可以通过 `BEGIN` 命令显式开启一个事务，同时会禁用事务自动提交功能，直到执行 `COMMIT` 或 `ROLLBACK` 语句后，才会恢复到自动提交模式。
 - [SAVEPOINT](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476570)：在事务过程中标记一个"保存点"，事务可以事后选择回滚到这个点。保存点是可选的，一个事务过程中也可以有多个保存点。
 - [COMMIT](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476105)：提交并结束当前事务，让事务所有修改持久化并生效，清除所有保存点和释放事务持有的锁。
 - [ROLLBACK](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476108)：回滚整个事务已做的修改或者只回滚某个保存点之后事务已做的修改，清除回滚部分包含的所有保存点和释放事务持有的锁。

在 `obclient` 命令环境下，可以在 SQL 提示符后发起事务控制命令，也可以通过修改 Session 级别的 `autocommit` 变量来控制事务是否自动提交。

- 通过 `SET autocommit` 设置变量时，当前会话立即生效，断开链接之后被设置的变量会失效。
 - 通过 `SET GLOBAL autocommit` 设置租户级别的变量时，需要断开链接才生效。

  #### 说明

  如果当前 Session 的 `autocommit` 值为 `0`，并且没有显式的提交事务，程序异常中断时，OceanBase 数据库会自动回滚最后一个未提交的事务。

## 相关文档

- [开启事务](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476109)
 - [事务保存点](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476570)
 - [提交事务](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476105)
 - [回滚事务](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000004476108)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
