ACID
1.原子性(atomicity):一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。
2.一致性(consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。
3.隔离性(isolation):一个事务所做的修改在最终提交以前,对其他事务是不可见的。
4.持久性(durability):一旦事务提交,则其所做的修改就会永久保存到数据库中。此时即使系统崩溃,修改的数据也不会丢失。
事务隔离性
在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别
事务隔离级别 脏读 不可重复读 幻读
读未提交(read-uncommitted) 可能 可能 可能
不可重复读(read-committed) 不可能 可能 可能
可重复读(repeatable-read) 不可能 不可能 可能
串行化(serializable) 不可能 不可能 不可能
脏读: 一个事务读到了另一个未提交的事务
可重复读: 读事务的过程中,另一个写事务修改数据,每次都到的数据都是一样的
幻影读: 一次读事务的过程中,另一个事务进行新增操作,前后2次读到的记录条数不一致