使用phpmyadmin在mysql中使用触发器和约束的问题

zz2j4svz  于 2022-11-09  发布在  PHP
关注(0)|答案(1)|浏览(166)

我一直有错误信息,我不知道我做错了什么。这是一流的餐厅:
餐厅(标识餐厅,名称休息,电话,地址,餐叉,名称城市,类型烹饪)
目标是不允许餐厅的餐叉不在区间内[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;
dba5bblo

dba5bblo1#

您似乎没有设置分隔符(请参见Delimiters in MySQL),并且第二个触发器(与第一个触发器类似)具有复合语句(请参见https://dev.mysql.com/doc/refman/8.0/en/begin-end.html),因此开始..end是必需的

相关问题