mysql事务之间的隔离级别

Posted panda521的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql事务之间的隔离级别相关的知识,希望对你有一定的参考价值。

事务间未做隔离,会引起下面这些问题。

1、脏读:一个事务可读到另外一个尚未commit的事务中的数据。

2、不可重复读:在一个事务中,读取同一个数据 a,b,按顺序读取,在读a  b 之间,另外一个事务修改了这个数值,并且提交了。这时,在这同一事务中,两次读取的值就不同了。

3、幻读:事务A,更新日期2017至2018之间的数据,将字段test_value都置为0。

但是此时,事务B又新插入一条2017至2018之间的数据,test_value为1。

最后的结果,事务A在表面上没有更新全部的,而漏掉了一条。

 

mysql的事务间的隔离级别分为下面几个级别(由高到低)

1、串行锁(可解决脏读,不可重复读,幻读的问题)

2、可重复读

3、读已commit

4、无隔离

 

以上是关于mysql事务之间的隔离级别的主要内容,如果未能解决你的问题,请参考以下文章

事务隔离级别

MySQL 事务四大隔离级别

mysql,oracle,sql server中的默认事务隔离级别查看,更改

mysql,oracle,sql server中的默认事务隔离级别查看,更改

mysql 事物隔离级别rr还是rc好

MySQL--事务,隔离性和隔离级别