# Transaction

隔离级别 脏读 不可重复读 幻读 常量
serializable TRANSACTION_SERIALIZABLE
repeatable-read TRANSACTION_REPEATABLE_READ
read-committed TRANSACTION_READ_COMMITTED
read-uncommitted TRANSACTION_READ_UNCOMMITTED

**脏读:**一个事务读取到另外一个事务未提交的数据。

**不可重复读:**事务 A 多次读取同一数据,事务 B 在事务 A 多次读取的过程中,对数据作了更新并提交,导致事务 A 多次读取同一数据时,结果不一致。

**幻读:**一个事务内读取到了别的事务插入的数据,导致前后读取不一致。

总结:不可重复读侧重于修改,幻读侧重于新增删除。解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表。