【发布时间】:2020-05-07 16:42:44
【问题描述】:
我有一个问题.. 需要的是创建一个触发器来检查销毁日期(dateEmpr)是否小于返回日期(dateRetEff),它增加了 10 天到日期返回
表结构
CREATE TABLE emprunter(
numLivre VARCHAR(5),
dateEmpr DATE,
numInsc VARCHAR(5),
dateRetEff DATE
);
这是我的代码 .. 它告诉我这是错误的
CREATE TRIGGER verifier_date
BEFORE INSERT ON emprunter
FOR EACH ROW
BEGIN
if((SELECT DATEDIFF(NEW.dateRetEff, NEW.dateEmpr) from emprunter ) <0) then
dateEmpr = DATE_ADD(OLD.dateEmpr, INTERVAL 10 DAY);
end if;
END;
1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 6 行的 '= DATE_ADD(OLD.dateEmpr, INTERVAL 10 DAY)' 附近使用正确的语法
【问题讨论】:
-
if((SELECT DATEDIFF(NEW.dateRetEff, NEW.dateEmpr) from emprunter ) <0) then ...- 你不能比较行集和标量值。... then dateEmpr = ...-SET操作员丢失。... DATE_ADD(OLD.dateEmpr, ...-OLD.在 INSERT 期间不存在。
标签: mysql