MySQLrepeatable-read隔离级别分析
repeatable-read可以反复阅读,并在设置自动提交= 0或开始交易状态的选择表的内容不会改变。该隔离级别可能导致可读的东西已被修改。例如:
读取a = 1字段中的一行。
在这两个会话中修改这个字段中的A=0,并提交
回到一个更新A = 0会发现这个字段,受行数影响是0,所以你可以根据受影响的行数是0或1判断修改是否成功!
这将在一些程序中有用!
会话1:
MySQL >设置自动提交= 0;
查询OK,0行受影响(0秒)
MySQL >选择*从test.dd id是1;
+ + +
| ID | AA |
+ + +
| 1 | 2 |
+ + +
1行集(0秒)
会话2:
MySQL >更新test.dd组AA = 1,ID = 1;
查询OK,1行受影响(0.09秒)
匹配行:1更改:1个警告:0
会话3:
MySQL >选择*从test.dd id是1;
+ + +
| ID | AA |
+ + +
| 1 | 2 |
+ + +
1行集(0秒)
MySQL >更新test.dd组AA = 1,ID = 1;
查询OK,0行受影响(0秒)
匹配行:1更改:0个警告:0
这里受影响的行数是0。我们可以根据这个值判断更新是否成功,在更改某些行的状态位时更有用。