【发布时间】:2021-07-06 02:42:27
【问题描述】:
mysql 5.7.33
iso 级别:读取已提交
自动提交:关闭
第 1 节:
创建表 t1(tid int not null,tname varchar(32) null);
创建表 t2(tid int primary key not null, tname varchar(32) null);
插入 t1 值(1,'1'),(2,'2'),(3,'3'),(4,'4');
插入 t2 值(1,'1'),(2,'2'),(3,'3'),(4,'4');
提交;
设置自动提交=0;
从 t1 中删除
在哪里整理(
从 t2 中选择 tid
其中 tname 不为空
)
并且 tname 为空
;
没有提交
然后打开另一个会话(我们称之为会话 2),
执行:
更新 t2 设置 tname = null;
更新语句被会话 1 阻止。
并且会话 2 在 mysql 8.0.25 中也被阻止了。
【问题讨论】: