0
Я создаю условие проверки для поля в моей базе данных. В таблице, называемой учеником, у меня есть поле для «Пол». Это поле должно принимать одно из двух значений: «M» или «F». Я создал триггер так:Sql Состояние проверки триггера не работает
DELIMITER $$
CREATE TRIGGER `test_before_insert` BEFORE INSERT ON `student`
FOR EACH ROW
BEGIN
IF NEW.Gender<>'M' OR NEW.Gender<>'F' THEN
SIGNAL SQLSTATE '12345'
SET MESSAGE_TEXT = 'should be M or F';
END IF;
END$$
DELIMITER ;
Триггер создается, но поле «гендер» не будет принимать любые значения, в том числе M или F.
спасибо, он работает сейчас. Почему не работает <> в моем случае? –
Поскольку у вас есть 2 условия в вашем 'if', а один из них - true или другой –
Вы также можете использовать' and' вместо 'or' в вашем запросе –