MYSQL innoDB SELECT FOR UPDATE with LEFT JOIN

MYSQL innoDB SELECT FOR UPDATE with LEFT JOIN

有人可以告诉我当您使用 innoDB 存储引擎 LEFT JOIN tables 进行 SELECT FOR UPDATE 时会发生什么。

所有加入的 table 中的所有行都被锁定了,还是只有主要的 table 行?

例如,如果我这样做..

SELECT userID, countryID FROM user LEFT JOIN address USING (userID) WHERE userID = 1 FOR UPDATE

地址table中的行也会被锁定吗?或者我需要单独锁定吗?

SELECT FOR UPDATE 锁定行和任何关联的索引条目,就像您为这些行发出 UPDATE 语句一样。 但 如果启用了自动提交,则不锁定符合规范的行。

MySQL InnoDB locks on joined rows