Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
MySQL(InnoDB)表可以递归锁定吗?
在 LOCK TABLES 文档中找不到任何提及嵌套或递归的内容。
默认行为似乎是(基于我观察到的)第二个锁隐式解锁第一个锁。
有没有办法让它递归地运行?
如果递归,你的意思是LOCK TABLES重复调用,创建一系列嵌套锁,那么答案是“不”。调用LOCK TABLES表会隐式释放该线程在该表上持有的所有当前锁。
LOCK TABLES
从MySQL LOCK TABLES 语法文档:
UNLOCK TABLES显式释放当前会话持有的任何表锁。LOCK TABLES在获取新锁之前隐式释放当前会话持有的任何表锁。
UNLOCK TABLES