MySQL实战 -- 可重复读 与 虚读

2019-05-26 21:21:55 浏览数 (1)

事物隔离级别是可重复度:

section 1:

(1)创建数据库: create DATABASE TESTDB;

(2)创建表:

CREATE TABLE `t` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB;

(3)插入数据:

insert into t(id, c) values(1,1),(2,2),(3,3),(4,4);

(4)select * from t;

section 2:

(1) beging;

(2)更新数据:update t set c=0 where id=c;

(3)commit; 事物的提交,因为行锁,section 1 做不了改行的操作。

(4)select * from t;

然而: section 1: 执行: select * from t; 还是没有更新的数据:

但是使用:select * from t for update; 可以获取更新的数据,这就是悲观锁了。

还可以参考:

https://blog.csdn.net/cweeyii/article/details/70991230

0 人点赞