【问题标题】:Why I can't insert new row into partially locked table in MySQL 5 InnoDB?为什么我不能在 MySQL 5 InnoDB 的部分锁定表中插入新行?
【发布时间】:2010-11-09 08:22:53
【问题描述】:

在手册中它说 InnoDB 具有行级锁定,那么为什么如果我使用 FOR UPDATE 语句选择一些行,它不会让我在该表中插入新行?新行毕竟不应该被锁定,它没有被选中。

【问题讨论】:

    标签: mysql locking innodb


    【解决方案1】:

    在 InnoDB 中,对自动增量列的插入会导致表锁定。选择一行 FOR UPDATE 会导致行级锁定。

    由于如果存在行锁则无法获取表锁,因此 UPDATE 会阻止 INSERT 直到其事务被提交。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多