2014-07-19 2 views
0

동일한 테이블에 데이터를 삽입 할 때 트리거를 사용하여 테이블을 업데이트했습니다! 하지만 그 테이블에 데이터를 삽입하면 오류가 발생합니다.MySQL 트리거 오류 ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG : 테이블을 업데이트 할 수 없습니다

ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG: Can't update table 

이것은 무엇을 의미합니까?

트리거 코드 :

create trigger update_owners_leaving_time 
AFTER INSERT ON cc_owners_queries 
FOR EACH ROW BEGIN 
update cc_owners_queries set leaving_time = query_time + INTERVAL leaving_in MINUTE , trigger_updated = 1 where trigger_updated !=1; 
    END 

오류 :

create trigger update_owners_leaving_time 
AFTER INSERT ON cc_owners_queries 
FOR EACH ROW BEGIN 
    IF NEW.trigger_updated != 1 THEN 
     set NEW.leaving_time = NEW.query_time + INTERVAL NEW.leaving_in MINUTE; 
     SET NEW.trigger_updated = 1; 
    END IF; 
END 

당신은 당신이를 업데이트해야 할 말을하지 않아도 :이 llike 뭔가를해야

Error: ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG: Can't update table 'cc_owners_queries' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. 
+0

어쩌면 업데이트하기 때문에, 무한 루프를 그 트리거가 발생합니다 트리거? – Niels

+0

@Niels 나는 당신을 얻지 못했습니다! – vipulsodha

+0

트리거가 업데이트됩니다. 트리거가 실행되며, 업데이트되며, 트리거됩니다. – Niels

답변

관련 문제