今天下午用了很长时间在学习事务隔离,书上讲的很清楚,网上讲的也很清楚,可是就是MySQL不清楚。
问题是这样的:
我的设置:
SET AUTOCOMMIT = 0;
首先说一下我的简单理解:
READ UNCOMMITTED:一个事务在写时,提交前,另一个事务不能写。
READ COMMITTED:继承了READ UNCOMMITTED的特性,并且一个事务在写,提交前,另一个事务不可读,特别的解决了脏数据。
REPEATABLE READ:继承了READ COMMITTED的特性,并且一个事务在读,提交前,另一个事务不可写,特别的解决了不可重复读取。
SERIALIZABLE:继承了REPEATABLE READ的特性,并且一个事务在读,提交前,另一个事务不能插入,特别的解决了幻象。
我试验了下:
READ COMMITTED:提交前是可以读的。
REPEATABLE READ:提交前是可以写的。
那么这样READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ没什么区别啊,搞了一下午,不知道哪里错了,特来请教啊,关于什么锁的就不要说了,我只想知道为什么不能正常工作。