2013-08-08 2 views
0

트리거의 다른 IF 내부에서 IF 문을 처리하려고합니다. 트리거에 구문 오류가 없지만 작동하지 않습니다. IF 코드는 다음과 같습니다.NOT IN SELECT ... IF 문 내

..... 
BEGIN 
    IF (new.used <> old.used) THEN  
     IF (NEW.uid NOT IN (SELECT uid FROM subscriptions)) THEN 
      UPDATE user_role SET user_role.rid=7 WHERE user_role.uid=new.uid; 
     END IF;  
    END IF; 
END$$ 
..... 

문제는 두 번째 IF 조건에 있지만 그것이 무엇인지 파악할 수 없다고 생각합니다. 어떤 아이디어? 감사합니다

답변

1

대소 문자 구분에 문제가있는 것 같습니다. NEW.uidnew.uid

https://dev.mysql.com/doc/refman/5.5/en/identifier-case-sensitivity.html

+0

오 남자를 변경! 이제 작동합니다! 저는 대문자와 차이가 없다고 생각했습니다. 왜냐하면 MySQL에서는 항상 SQL 코드에 대문자를 사용하기 때문입니다! 정말 고마워, 내가 다른 게시물에서 말했듯이 나는 방아쇠를 당했고 그래서 이런 문제가 생겼다 !! – user1638466