原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事物在执行过程中发生错误,会被回滚事务开始前的状态,就像事务从来没有执行过一样
一致性:指一个事务可以改变封装状态。事务必须始终保持系统处于一致状态
隔离性:它是两个事务之间的隔离程度
持久性:在事务完成以后,该事务对数据库所做的更改便持久保存在数据库之中,并不会被回滚
隔离级别
脏读、读/写提交、可重复读、序列化
脏读:事务一可以读取事务二未提交的事务,这样的场景被称为脏读。
读/写提交:就是说一个事务只能读取另一个事务已经提交的数据,主要为了克服脏读。
可重复读:可重复读会使得同一条数据库记录的读/写按照一个序列进行操作,不会产生交叉情况,这样就能保证一条数据的一致性,主要为了克服不可重复读带来的错误。
序列化:它是一种让sql按照顺序读/写的方式,能够消除数据库事务之间并发产生数据不一致的问题,主要为了克服幻读。