2012-07-13 2 views
3

내 앱은 테이블을 잠그고 저장 프로 시저를 사용하여 업데이트 한 다음 잠금을 해제하려는 기능으로 구성되어 있습니다. 코드는 같은 것을 간다 :MySql - 테이블 'proc'이 LOCK 테이블과 잠겨 있지 않음

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; 

: 두 번째는 단순히 업데이트 문을 포함 나는 또한 잠금 문에서 mytable2을 고정했지만 그 중 하나가 작동하지 않습니다.

+1

'proc'! = mytable' : 아마도 '관련 부분을 표시합니다.'magicalStoredProc'? –

+0

추가 세부 정보, 감사합니다. – Zishan

답변

0

mystoredproc 외부의 중첩 된 mystoredproc2 저장 프로 시저를 일련의 SQL 문으로 이동하여 트릭을 수행했습니다.

관련 문제