3
我的应用程序包含一个函数,我试图锁定一个表,更新它(使用存储过程),然后解锁它。该代码都类似:MySql - 表'过程'没有锁定锁定表
LOCK TABLE mytable WRITE;
CALL myStoredProc;
UNLOCK TABLES;
当执行CALL myStoredProc;
一部分时,给予以下错误消息的函数被调用,它的错误了:
Table 'proc' was not locked with LOCK TABLES
我试着用mytable
但沿锁定mysql.proc
似乎没有帮助。关于这种情况的任何想法?
更新: 第一个存储过程去如下:
CALL mystoredproc2(NOW());
UPDATE mytable SET _column = NOW();
SELECT * FROM mytable WHERE _column > NOW();
正如你看到的,上面的存储过程嵌套一个又一个。第二个简单的包含更新语句:
UPDATE mytable2 SET _column = _now;
FYI:我也是在lock语句锁定mytable2
但这并不工作。
'proc'!='mytable':也许在'magicalStoredProc'中显示[相关部分]? – 2012-07-13 22:45:02
更多详细信息已添加,谢谢。 – Zishan 2012-07-13 22:57:48