1
타사 응용 프로그램에서 데이터베이스를 업데이트하려고합니다. 영향을받는 두 테이블의 스키마는 다음과 같습니다.오류 1442 : 저장된 함수/트리거의 테이블을 업데이트 할 수 없습니다.
Table 'camera'
columns: deviceID, connectionState
Table 'cameraRecording'
columns: deviceID, recordToVolumeID
위 쿼리를 모두 시도했지만 동일한 오류가 발생합니다.
mysql> update cameraRecording
SET recordToVolumeID='STRING'
WHERE deviceID
IN (select deviceID from camera WHERE connectionState=1);
ERROR 1442 (HY000): Can't update table 'camera' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
.
mysql> update cameraRecording a
JOIN camera b
ON a.deviceID=b.deviceID AND b.connectionState=1
SET recordToVolumeID='STRING';
ERROR 1442 (HY000): Can't update table 'camera' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
저는 SQL 전문가가 아니며 자주 사용하지 않지만이 방법이 효과적 일 것이라고 확신합니다. 응용 프로그램이 트리거 또는 함수를 이미 설정 한 것 같아요 ...이 작업을 수행 할 수있는 방법이 있습니까? 나는 다른 사람들의 많은 게시물을이 오류로 읽었지만, 대부분은 그들에게 방아쇠를 만들려고 애썼다.
http://stackoverflow.com/questions/1582683/mysql-trigger-stored-trigger-is-already-used-by-statement-which-invoked-stored-t?rq=1 – Mihai