事务中的加锁方式
1、事务的四种隔离级别
隔离级别 | 脏读(Dirty Read) | 不可重复读(NonRepeatable Read) | 幻读(Phantom Read) |
---|---|---|---|
未提交读(Read uncommitted) | 可能 | 可能 | 可能 |
已提交读(Read committed) | 不可能 | 可能 | 可能 |
可重复读(Repeatable read) | 不可能 | 不可能 | 可能 |
串行化(Serializable ) | 不可能 | 不可能 | 不可能 |
1.读未提交
事务1还没提交,事务2就能读到事务1修改的内容
2.读已提交
读一个事务提交后的数据。
但是事务2在事务1提交前和提交后,读的数据是不一样的。e.g“不可重复读”
事务1查询,但是事务2又插入新的记录,原先事务1再次查询时,会把后来插入的记录也读出来。e.g“幻读”
3.可重复读
MySQL帮我们解决掉了幻读问题。
4.串行化
只允许同一条记录进行修改。