我在一个表中有5行(1到5)。我要锁定第2行以进行一些更新,与此同时,如果有人尝试更新第4行,那么他应该可以更新。
我正在下面的代码中尝试此操作,但是我觉得它将锁定放在表级别而不是行级别。
------第一场
START TRANSACTION;
SELECT * FROM test WHERE t=1 FOR UPDATE;
UPDATE test SET NAME='irfandd' WHERE t=2;
COMMIT;
Run Code Online (Sandbox Code Playgroud)
-----会话2(已被阻止)
START TRANSACTION;
UPDATE test SET NAME='irfandd' WHERE t=4;
COMMIT;
Run Code Online (Sandbox Code Playgroud)