(1)前序:
发生脏读和脏写最关键的是因为一个事务写或者查询的是别的事务还未提交时候更新的数据,这个事务随时会回滚,导致出现问题。
(2)不可重复读:
不可重复读到底是不是问题?
没问题:事务B和事务C都提交之后,事务A多次查询查到他们修改的值,是ok的,
有问题:事务A可能第一次查询这个值是A,它可能希望事务执行期间,多次查询数据都是同样的A值,它希望这个A值重复读取的时候一直可以读到,
希望这行数据是可重复读的。
但是此时A明显是不可重复读的,因为事务B和事务C一旦更新了值且提交了,事务A会读到别的值,所以此时这行数据的值是不可重复读的,对于
可重复读的场景就是问题。
(3)总结:
如果期望的是可重复读,但是数据库表现得是不可重复读,在事务A执行期间多次查到的值都不一样,都是别的提交过的事务修改过的值,那此时会认为数据库有问题。