我正在为数据库中的字段创建检查条件。在名为student的表格中,我有一个性别字段。此字段应接受以下两个值中的一个' M'或者' F'。我创建了一个类似的触发器:
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.
答案 0 :(得分:1)
你的病情有误。这总是如此。使用
IF NEW.Gender not in ('M', 'F') THEN
或使用
IF NEW.Gender<>'M' AND NEW.Gender<>'F' THEN