我一直有错误信息,我不知道我做错了什么。这是一流的餐厅:
餐厅(标识餐厅,名称休息,电话,地址,餐叉,名称城市,类型烹饪)
目标是不允许餐厅的餐叉不在区间内[1,5]
CREATE TRIGGER CorrecF
BEFORE INSERT ON Restaurant
FOR EACH ROW
BEGIN
IF (5 < new.Forks AND new.Forks < 1) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Forks have to be between 1-5';
END IF;
END;
另一个将不允许插入报价的日期少于2周从现在()。
优惠(IdOffer,咖啡,饮料,日期,价格,IdRest,时区)
CREATE TRIGGER CorrectDate BEFORE INSERT ON Offer
FOR EACH ROW IF (DATE_ADD(NOW(), INTERVAL 2 WEEK) > new.Date) THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Date have to be minimum 2 weeks from now';
END IF;
END;
1条答案
按热度按时间dba5bblo1#
您似乎没有设置分隔符(请参见Delimiters in MySQL),并且第二个触发器(与第一个触发器类似)具有复合语句(请参见https://dev.mysql.com/doc/refman/8.0/en/begin-end.html),因此开始..end是必需的