#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在附近使用的正确语法


/* Create trigger for Message system*/
CREATE TRIGGER IF NOT EXISTS TRG_MSG
AFTER INSERT ON Order_Detail
FOR EACH ROW
BEGIN
INSERT INTO Messages (Order_ID, Member_ID, Message, Msg_Date)
VALUES (new.Order_ID, new.Member_ID, 'Your Order is Placed!...', CURRENT_DATE);
END;

在MySQL中,我收到此错误...

使用分隔符

喜欢

DELIMITER //
CREATE TRIGGER IF NOT EXISTS TRG_MSG
AFTER INSERT ON Order_Detail
FOR EACH ROW
BEGIN
INSERT INTO Messages (Order_ID, Member_ID, Message, Msg_Date)
VALUES (NEW.Order_ID, NEW.Member_ID, 'Your Order is Placed!...', CURRENT_DATE);
END;
DELIMITER ;

MySQL的CREATE TRIGGER语法不支持IF NOT EXISTS选项。

此外,还需要在创建触发器之前重新定义DELIMITER,以便触发器主体中的嵌入;不会与周围的create trigger语句冲突。

DELIMITER //
CREATE TRIGGER RG_MSG
AFTER INSERT ON Order_Detail
FOR EACH ROW
BEGIN
INSERT INTO Messages (Order_ID, Member_ID, Message, Msg_Date)
VALUES (new.Order_ID, new.Member_ID, 'Your Order is Placed!...', CURRENT_DATE);
END//
DELIMITER ;

DB小提琴上的演示

相关内容

最新更新