MySQL (InnoDB) 表可以递归锁定吗?
在 LOCK TABLES 文档中找不到任何提及嵌套或递归的内容。
默认行为似乎是(根据我观察到的)第二个锁隐式解锁第一个锁。
有没有办法让它递归运行?
最佳答案
如果通过递归,您的意思是重复调用LOCK TABLES
,创建一系列嵌套锁,那么答案是否定的。在表上调用 LOCK TABLES
会隐式释放该线程对该表持有的所有当前锁。
来自 the MySQL LOCK TABLES syntax documentation :
UNLOCK TABLES
explicitly releases any table locks held by the current session.LOCK TABLES
implicitly releases any table locks held by the current session before acquiring new locks.
关于MySQL:可以递归锁定表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15150249/