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

时间:2009-07-09 11:15:02

标签: mysql locking innodb

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

1 个答案:

答案 0 :(得分:2)

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

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