- 最后登录
- 2017-7-25
- 在线时间
- 49 小时
- 威望
- 41
- 金钱
- 431
- 注册时间
- 2012-5-8
- 阅读权限
- 10
- 帖子
- 54
- 精华
- 1
- 积分
- 41
- UID
- 417
|
1#
发表于 2012-8-16 16:28:05
|
查看: 5617 |
回复: 8
看tom的书,发现一个restart the update
不明白什么restart the update
下面是实验过程,请刘大帮忙解释下
create table t (x int,y int);
insert into t values (5,5);
commit;
session A中:
SYK@ moe >select * from t;
X Y
---------- ----------
5 5
SYK@ moe >update t set y=10 where y=5;
1 row updated.
SYK@ moe >select * from t;
X Y
---------- ----------
5 10
session B中:
SYK@ moe >update t set x=x+1 where y=5;
不能更新,因为session A占有锁,我去session A中提交
session A中:
SYK@ moe >commit;
Commit complete.
回到session B中看发生什么
session B中:
SYK@ moe >update t set x=x+1 where y=5;
0 rows updated.
SYK@ moe >select * from t;
X Y
---------- ----------
5 10
SYK@ moe >
tom说这是restart the update |
|