저는 mysql 5.0을 실행 중이며 트리거를 만들었습니다. 대략적으로 다음과 같습니다 :MySql 트리거 - IF 구문의 문자열 비교
SET @temp =(SELECT STATEMENT);
IF(@temp = 'true') THEN
-code block 1-
ELSE
-code block 2-
END IF;
select 문을 단독으로 실행하면 'true'가 반환되지만 'code block 2'위의 코드는 실행되고 있습니다. 왜 그런가? 당신의 선택 문은 부울 값을 반환하는 경우
select 문을 포함 할 수 있습니까? 소문자에서 단 하나의 행과 STRING 'true'만 반환합니까? – JohnFx
소문자에서 하나의 행을 true로 반환합니다. + ------------------ + | 임시 | + ------------------ + | 사실 | + ------------------ + – David
아마도 문자 세트 문제가 발생했을 수 있습니다. 트리거의 charset은 UTF8 (IIRC)입니다. 테이블의 charset이 호환되지 않으면 IF가 일치하지 않습니다. – Johan