You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

REPEATABLE READ隔离级别下DELETE操作属于不可重复读还是幻读?

该特定场景属于不可重复读还是幻读范畴?

我认为此问题并非重复提问,因为我未在任何地方见过该特定场景。

begin;            
                                   begin;
                                   select * from bancos where id = 2;
delete from bancos where id = 2;  
                                    select * from bancos where id = 2; //same data, expected

commit;
                                select * from bancos where id = 2; //here he should have hidden it because it allows for phantom reads
                                commit;
                                select * from bancos where id = 2; // Eliminated, now yes

我正在使用REPEATABLE READ隔离级别,因此我原本认为该DELETE操作会引发幻读,因为MySQL的REPEATABLE READ允许幻读,所以我认为右侧控制台的倒数第二次SELECT查询(提交前的那次)不应返回该记录(即使未提交),因为这属于幻读场景,且REPEATABLE READ允许幻读

对于UPDATE场景我是理解的(UPDATE场景示例图)

但该DELETE场景该如何解释?难道DELETE引发的是不可重复读,因此在提交前都会显示该记录?


内容的提问来源于stack exchange,提问作者user19551894

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 14:55:15