常看当前数据库的事务隔离级别: show variables like '%isolation%';
设置事务隔离级别:set transaction_isolation='REPEATABLE-READ'。
Mysql默认的事务隔离级别是可重复读,用Spring开发程序时,如果不设置隔离级别默认用Mysql设置的隔离级别,如果Spring设置了就用已经设置的隔离级别。
在具体讲解这四种隔离级别之前,我们先了解一下MYSQL锁的知识,这是个大前提。
那么间隙就有id为(3,10)、(10,20)、(20,正无穷)这三个区间,在Session_1下面执行update account set name='zhuge' where id>8 and id<18;,则其他Session没法在这个范围所包含的所有行记录(包括间隙行记录)以及行记录所在的间隙里插入或修改任何数据,即id在(3,20]区间都无法修改数据,注意最后那个20也是包含在内的。间隙锁是在可重复读隔离级别下才会生效。