1

MySQL(InnoDB)表可以递归锁定吗?

在 LOCK TABLES 文档中找不到任何提及嵌套或递归的内容。

默认行为似乎是(基于我观察到的)第二个锁隐式解锁第一个锁。

有没有办法让它递归地运行?

4

1 回答 1

2

如果递归,你的意思是LOCK TABLES重复调用,创建一系列嵌套锁,那么答案是“不”。调用LOCK TABLES表会隐式释放该线程在该表上持有的所有当前锁。

MySQL LOCK TABLES 语法文档

UNLOCK TABLES显式释放当前会话持有的任何表锁。LOCK TABLES在获取新锁之前隐式释放当前会话持有的任何表锁。

于 2013-03-01T04:10:58.050 回答