mysql - 我的 MySQL 脚本语法错误

标签 mysql triggers

我尝试在更新之前在表上创建触发器,但之后看到错误:

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 '; 附近使用的正确语法。 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 ;

我的脚本哪里出了问题?

最佳答案

看起来您在这一行缺少右括号:

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

关于mysql - 我的 MySQL 脚本语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17054843/

相关文章:

mysql - Hibernate 不回滚触发器相关的更改

Postgresql 分区表删除触发器失败

mysql - 更新表内连接

mysql - 合并两列,多行忽略重复 - MySQL

php - 在 Oracle 中使用触发器记录对表的更改

mysql - 比较mysql触发器中的字符串

sql - SPROC 完成执行后如何触发触发器?

mysql - 在数据库中创建、更新、删除 View

php - 使用 MySQL 空间字段查找地理围栏(圆圈)内的记录

mysql - 仅当一列值为 0 时才执行 SQL 查询