что означает синтаксис триггера IF в следующей программе?

#mysql #sql #triggers #mysql5

#mysql #sql #триггеры #mysql5

Вопрос:

 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 ;  
  

У меня возникла небольшая проблема с пониманием этого оператора trigger. Не могли бы вы, пожалуйста, объяснить мне это утверждение?Что означает

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

что означает оператор??

Ответ №1:

 new.id_category = 'list'
or
new.id_category = 'of'
or
new.id_category = 'special'
or
new.id_category = 'categories'
  

Комментарии:

1. есть ли какой-либо способ разрешить совпадение диапазона значений? например, new.id_category=1 или new.id_category= 2 или new.id_category = 3 и так далее???