diff --git a/mysql/mysql文档/mysql_事务.md b/mysql/mysql文档/mysql_事务.md
new file mode 100644
index 0000000..444abd0
--- /dev/null
+++ b/mysql/mysql文档/mysql_事务.md
@@ -0,0 +1,43 @@
+# 事务
+## 事务分类
+事务通常可分为如下类型:
+- 扁平事务(flat transaction)
+- 带保存点的扁平事务(flat transaction with savepoints)
+- 链事务(chained transaction)
+- 嵌套事务(nested transaction)
+- 分布式事务(distributed transaction)
+
+### 扁平事务
+扁平事务为最常用的事务,在扁平事务中,所有操作都处于统一层次,其由`begin work`开始,并由`commit work`或`rollback work`结束。
+
+扁平事务的操作是原子的,要么都提交,要么都回滚。
+
+### 带有保存点的扁平事务
+对于带有保存点的扁平事务,`其支持在事务执行过程中回滚到同一事务中较早的一个状态`。
+
+在事务执行过程中,可能并不希望所有的操作都回滚,放弃所有操作的代价可能太大。通过`保存点`,可以记住事务当前的状态,在后续发生错误后,事务能够回到保存点当时的状态。
+
+相较于扁平事务只能够全部回滚,带保存点的扁平事务能够回滚到保存点时的状态。
+
+保存点可以通过`save work`来创建,使用示例如下所示
+
+
+
+### 链事务
+可视为保存点事务的一个变种。在使用带保存点的事务时,如果系统发生崩溃,那么所有的保存点都会消失。`在后续重启进行恢复时,事务需要从开始处重新执行`,而不是从最近的一个保存点开始执行。
+
+> 若事务在数据库未提交时发生崩溃,那么在数据库再次重启执行recovery操作时,会对未提交的事务进行回滚,即使之前事务存在保存点,也会全部回滚
+
+链事务的思想是,当提交事务时,释放不必要的数据对象,将必要的上下文隐式传递给下一个要开始的事务。`提交事务和开始下一个事务操作必须为原子操作`,下一个事务必须徐要能看到上一个事务的结果,示例如下:
+
+
+
+和带保存点的扁平事务不同的是,带保存点的扁平事务能够回滚到任意正确的保存点,而链事务只能回滚当前事务。
+
+且链事务和带保存点的扁平事务,对于锁的处理也不同:
+- `链事务`:对于每个事务,commit后释放持有的锁
+- `带保存点的扁平事务`:在整个事务提交前,不会释放持有的锁
+
+
+
+