2011-04-11 6 views
0
DELIMITER $$ 
create trigger mytable_check before insert on test.mytable for each row 
begin 
if new.id_category in ('list','of','special','categories') 
    and exists 
     (select * from mytable 
     where id_category=new.id_category 
     and keywords=new.keywords) then 
    call fail(concat('id_category,keywords must be unique when id_category is: ',new.id_category)); 
end if; 
end $$ 
DELIMITER ; 

이 트리거 문을 이해하는 데 약간의 문제가 있습니다. u는 나에게이 문을 설명해 주시겠습니까?다음 프로그램에서 트리거의 IF 구문은 무엇을 의미합니까?

if new.id_category in ('list','of','special','categories')

문장이 의미하는 무엇?

답변

2
new.id_category = 'list' 
or 
new.id_category = 'of' 
or 
new.id_category = 'special' 
or 
new.id_category = 'categories' 
+0

일치하는 값의 범위를 허용하는 방법은 무엇입니까? like new.id_category = 1 또는 new.id_category = 2 또는 new.id_category = 3 등등 ??? – gks

+0

도움을 주신 @Jani에게 감사드립니다. – gks

관련 문제