一.什么是事务
事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。
事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。
二.事务的四个特性
1,原子性,事务由一个或多个行为捆绑在一起构成,好像是一个单独的工作单元。原子性保证事务内的操作要么都发生,要么都不发生。假如所有的操作都成功了,那么事务是成功的。加入任何一个操作失败,那么事务会进行回滚。
2,一致性,一旦一个事务结束了,不管成功还是失败,系统所处的状态和它的业务规则是一致的。也就是说,数据应当不会被破坏。
3,隔离性,事务应当允许多名用户操作同一个数据,一个用户的操作不会和其他用户的操作相混淆。因此,事务必须是隔离的,防止并行读写同一个数据的情况发生。注意,隔离通常意味着要锁定数据库的表或行。
4,持久性,一旦事务完成,事务的结果应当持久化。这样不管什么样的系统崩溃,它们都能幸免于难。