事务:多条sql语句,要么全部成功,要么全部失败。
事务特性:原子性(atomic)、一致性(consistent)、隔离性(isolation)、持久性(durability),简称ACID。
原子性:组成一个事务的多个数据库操作是一个不可分割的原子单元,只有所有操作都成功,整个事务才会提交。任何一个操作失败,已经执行的任何操作都必须撤销,让数据库返回初始状态。
一致性:事务操作成功后,数据库所处的状态和他的业务规则是一致的,即数据不会被破坏。如:A转账100元给B,不管操作是否成功,A和B的账户总额是不变的。
隔离性:在并发数据操作时,不同的事务拥有各自的数据空间,他们的操作不会对彼此产生干扰。
持久性:一旦事务提交成功,事务中的所有操作都必须持久化到数据库中。