MySQL脚本语法中的错误

时间:2013-06-11 22:22:25

标签: mysql triggers

我尝试在更新前在桌面上创建触发器,但之后我发现错误:

1064 - 您的SQL语法出错;检查与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在附近使用&#39 ;; INSERT INTO LigneInterventaire(codeArt,qteInv,numInv)'在第8行

这是我的剧本:

DELIMITER //
CREATE TRIGGER `accepterLivraion` BEFORE UPDATE ON `LigneInterventaire`
FOR EACH ROW
BEGIN
    IF NEW.etat = 'Accepté' THEN
        IF verifierLivraison(OLD.num) = FALSE THEN
            SIGNAL sqlstate '45001' set message_text = "La livraison n'a pas respectée les termes de la commande de sortie.";
        ELSE
            INSERT INTO Inventaire(`date`) VALUES (DATE(NOW());
            INSERT INTO LigneInterventaire(codeArt, qteInv, numInv) 
            VALUES (NEW.codeArt, NEW.qte, LAST_INSERT_ID());
        END IF;
    END IF;
END//
DELIMITER ;

我的脚本中的问题在哪里?

1 个答案:

答案 0 :(得分:1)

您似乎错过了这一行的结束括号:

INSERT INTO Inventaire(`date`) VALUES (DATE(NOW()));