小编bah*_*bug的帖子

如何故意锁定MySQL行,即使SELECT也会返回错误?

我正在尝试使用MySQL行锁定来基本上模拟一行上的MuteEx.假设我的表有2列,一个id和一个文本字段,以及三个条目(1,a)(2,b)和(3,c).SELECT*FROM table; 会返回这些结果.我可以正常方式锁定特定行.

START TRANSACTION;
BEGIN;
SELECT * FROM table WHERE id = '2' FOR UPDATE;
Run Code Online (Sandbox Code Playgroud)

但是,如果从第二个连接我到表中的SELECT*.它将返回所有3个结果.行级锁定是否有办法基本上阻止任何SELECT查看/使用被锁定的行?基本上我试图阻止任何人使用当前正在使用/操作的行,或甚至将行视为其数据(因为它被使用/操作)在SELECT时不可信任.

mysql innodb locking

8
推荐指数
3
解决办法
1万
查看次数

标签 统计

innodb ×1

locking ×1

mysql ×1