我们一般用 ACID 来解释事务,一个事务本质上有四个特征 ACID:
原子性(Atomicity)
- 一个事务必须被视为一个不可分割的最小工作单元
一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作
一致性(Consistency)
事务的执行不能破坏数据库数据的完整性和一致性
一个事务在执行之前和执行之后,数据库都必须处于一致性状态
隔离性(Isolation)
通常一个事务所做的修改在最终提交之前,对其他事务是不可见的
在并发环境中,并发的事务是相互隔离的,一个事务的执行不能被其他事务干扰
持久性(Durability)
一旦事务提交,那么它对数据库中的对应数据的状态的变更就会永久保存到数据库中(即使发生系统崩溃或机器宕机等故障,只要数据库能够重新启动,那么一定能够将其恢复到事务成功结束的状态)