【发布时间】:2022-01-04 22:47:05
【问题描述】:
所以我尝试创建一个 mysql 触发器(在更新之前),它将检查员工表的哪个属性正在更新,我将向另一个表“Update_Message”添加一条语句,该语句指示更新的属性。这是我的代码:
DELIMITER //
CREATE TRIGGER update_col
BEFORE UPDATE
ON Employee FOR EACH ROW
BEGIN
DECLARE Msg VARCHAR(100);
SET Msg = '';
IF NEW.eid!=OLD.eid THEN
SET Msg = CONCAT(Msg,"trying to update eid");
ELSE IF STRCMP(NEW.ename,OLD.ename) = 0 THEN
SET Msg = CONCAT(Msg,"trying to update ename");
ELSE IF STRCMP(NEW.eaddress,OLD.eaddress) = 0 THEN
SET Msg = CONCAT(Msg,"trying to update eaddress");
ELSE
SET Msg = CONCAT(Msg,"trying to update emonthlysalary");
DELETE FROM Update_Message;
INSERT INTO Update_Message (Message) VALUES (Msg);
END;
//
它指出了一个语法错误:ERROR 1064 (42000): You have an error in your SQL syntax;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 17 行的 '' 附近使用
请帮忙
【问题讨论】:
标签: mysql sql syntax triggers syntax-error