【问题标题】:MYSQL innoDB SELECT FOR UPDATE with LEFT JOINMYSQL innoDB SELECT FOR UPDATE with LEFT JOIN
【发布时间】:2015-06-08 16:04:33
【问题描述】:

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

是所有连接表中的所有行都被锁定,还是只有主表行?

例如,如果我这样做..

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

地址表中的行也会被锁定吗?还是我需要单独锁定?

【问题讨论】:

    标签: mysql sql innodb


    【解决方案1】:

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

    MySQL InnoDB locks on joined rows

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-29
      • 2021-08-01
      • 2013-11-02
      • 2017-04-25
      • 1970-01-01
      相关资源
      最近更新 更多