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