回到首页 / 上级目录

事务

事务(transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。

在 SQL 中,定义事务的语句一般有三条:

BEGIN TRANSACTION;
COMMIT;
ROLLBACK;

事务通常是以 BEGIN TRANSACTION 开始,以 COMMIT 或 ROLLBACK 结束。

COMMIT 将事务中所有对数据库的更新写回到磁盘上的物理数据库中,事务正常结束。

ROLLBACK 将事务中对数据库的所有已完成的操作全部撤销。

事务的特性

事务具有四个特性(ACID):

(1) 原子性(Atomicity):事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。

(2)一致性(Consistency):若事务没有完全完成,称其处于不一致性状态。

(3)隔离性(Isolation):事务之间不能互相干扰。

(4)持续性(Durability):事务一旦提交,其对数据库的改变就应该是永久性的。

事务 ACID 特性遭破坏的因素包括:

  1. 多个事务并行运行时,不同事务的操作交叉执行
  2. 事务在运行过程中被强行停止