gpt4 book ai didi

MySql - 表 'proc' 未使用 LOCK TABLES 锁定

转载 作者:行者123 更新时间:2023-11-29 01:04:23 25 4
gpt4 key购买 nike

我的应用程序包含一个函数,在该函数中我试图锁定一个表,更新它(使用存储过程),然后解锁它。代码是这样的:

LOCK TABLE mytable WRITE;
CALL myStoredProc;
UNLOCK TABLES;

当函数被调用时,它会在执行 CALL myStoredProc; 部分时出错,并给出以下错误消息:

Table 'proc' was not locked with LOCK TABLES

我尝试将 mysql.procmytable 一起锁定,但这似乎没有帮助。对这种情况有什么想法吗?

更新:第一个存储过程如下:

CALL mystoredproc2(NOW());
UPDATE mytable SET _column = NOW();
SELECT * FROM mytable WHERE _column > NOW();

如您所见,上面的存储过程嵌套了另一个存储过程。第二个只包含一个更新语句:

UPDATE mytable2 SET _column = _now;

仅供引用:我还在 lock 语句中锁定了 mytable2,但这也不起作用。

最佳答案

我将嵌套的 mystoredproc2 存储过程作为一系列 SQL 语句移到 mystoredproc 之外,这就成功了。

关于MySql - 表 'proc' 未使用 LOCK TABLES 锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11479289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com