MySQL:可以递归锁定表吗?

标签 mysql recursion locking nested

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/

相关文章:

mysql - SQL创建新列(mySQL)

java - 此递归中的 Stackoverflow 错误

java - 使用 Java 队列锁

svn - 如何在SVN中进行独家结帐?

MYSQL:基数违规:1242 子查询返回超过 1 行?

mysql - 如何实现基于2列的sql查询进行外连接

c++ - 将条件递归算法转换为迭代算法

Mysql递归查询互连线

go - 您是否需要使用互斥锁来锁定 const?

mysql select COUNT join 无法返回不匹配的记录