代码之家  ›  专栏  ›  技术社区  ›  vava

为什么我不能在mysql 5 innodb的部分锁定表中插入新行?

  •  2
  • vava  · 技术社区  · 15 年前

    在手册中,它说InnoDB有行级锁定,所以为什么我选择一些行 FOR UPDATE 语句它不允许我在该表中插入新行?新行毕竟不应该被锁定,它没有被选中。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Andomar    15 年前

    在InnoDB中,插入自动递增列会导致表锁。选择要更新的行将导致行级别锁定。

    由于如果存在行锁,则无法获取表锁,因此更新将阻止插入,直到提交其事务为止。