create table t(id int not null PRIMARY key,c int default null) engine=innodb;
insert into t(id,c)values(1,1),(2,2),(3,3),(4,4);

session1                                    session2
(system@127.0.0.1:3306) [test]> show variables like '%iso%';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| tx_isolation | REPEATABLE-READ |
+---------------+-----------------+

(system@127.0.0.1:3306) [test]> show variables like 'auto%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| autocommit | ON |
| automatic_sp_privileges | ON |
+--------------------------+-------+

(system@127.0.0.1:3306) [test]> begin;
Query OK, 0 rows affected (0.00 sec)
(system@127.0.0.1:3306) [test]> select * from t;
+----+------+
| id | c |
+----+------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
+----+------+
4 rows in set (0.00 sec)
                                      session2: (system@127.0.0.1:3306) [test]> update t set c=id+1;
(system@127.0.0.1:3306) [test]> update t set c=0 where id=c;
Query OK, 0 rows affected (4.39 sec)
Rows matched: 0 Changed: 0 Warnings: 0
//session1更新失效,update是当前读,此时已经找不到id=c的值,所以更新失败
//rc情况,update还是会更新失效,跟隔离级别无关,都是当前读,只不过rc情况,下面的select就能读到session2的正确的值
(system@127.0.0.1:3306) [test]> select * from t;
+----+------+
| id | c |
+----+------+
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
+----+------+
4 rows in set (0.00 sec)
(system@127.0.0.1:3306) [test]> commit;
Query OK, 0 rows affected (0.00 sec)

(system@127.0.0.1:3306) [test]> select * from t;
+----+------+
| id | c |
+----+------+
| 1 | 2 |
| 2 | 3 |
| 3 | 4 |
| 4 | 5 |
+----+------+
4 rows in set (0.00 sec)

最新文章

  1. gulp教程之gulp-autoprefixer<转>
  2. margin塌陷现象
  3. codeforces 732E(贪心)
  4. Android——黑名单
  5. 使用Asp.net WebAPI 快速构建后台数据接口
  6. asp.net之treeview无法显示树结点图标(IP与域名的表现竟不一样)
  7. CSS 通用和分组选择器(十)
  8. Flex前台和后台WCF服务之间数据的接收与传输
  9. python使用正则表达式文本替换
  10. UITextField限制字数的方法
  11. linux系统安装(虚拟机以及linux的下载与安装)
  12. html+css+js实现复选框全选与反选
  13. SVN 让项目某些文件不受版本控制
  14. c++面试题【转】
  15. 10_Eclipse中演示Git冲突的解决
  16. PHP 5 Filesystem 函数
  17. 学习jQuery必须知道的几种常用方法
  18. Oracle ctl模版
  19. 洛谷P5206 [WC2019]数树 [容斥,DP,生成函数,NTT]
  20. 【原创】NVIC中断

热门文章

  1. ios 发布相关材料记录
  2. 智能穿戴设备移动APP端与外设数据传输协议
  3. Codeforces Round #374 (Div. 2) A , B , C 水,水,拓扑dp
  4. sublime 编译C++
  5. Qt5.3.2_vs10_发布时所需DLL的路径
  6. xenapi-add-support-for-vgpu
  7. iOS中,Framework和.a的打包及使用
  8. 数据链路层--PPP协议
  9. .net mvc超过了最大请求长度
  10. C++(十三)— map的排序