MySQL(InnoDB)表可以递归?
锁定在LOCK TABLES文档中找不到任何嵌套或递归的提及。
默认行为似乎是(基于我观察到的)第二个锁隐式地解锁了第一个锁。
有没有办法让它递归递归?
答案 0 :(得分:1)
如果通过递归,则表示重复调用LOCK TABLES
,创建一系列嵌套锁,然后答案为“否”。在表上调用LOCK TABLES
隐式释放该线程在该表上保存的所有当前锁。
来自the MySQL LOCK TABLES syntax documentation:
UNLOCK TABLES
显式释放当前会话持有的任何表锁。LOCK TABLES
在获取新锁之前隐式释放当前会话持有的任何表锁。