我正在尝试创建一个触发器,以便在特定表列中有任何更改时,应在另一个表中创建事件。我正在使用以下SQL查询
CREATE TRIGGER enabled_update BEFORE UPDATE ON useraccount
FOR EACH ROW
BEGIN
IF (NEW.enabledAccount != OLD.enabledAccount) THEN
INSERT INTO logEvents
SET NEW.event = OLD.employeeID;
END IF;
END;
但是当我尝试运行此查询时,我收到了以下错误。 查询错误(1064):''附近的语法错误在第6行和查询错误(1064):语法错误在' END IF'附近在第1行。哪里我错了?
答案 0 :(得分:1)
使用DELIMITER
命令,请参阅23.1 Defining Stored Programs。
DROP TRIGGER IF EXISTS `enabled_update`;
DELIMITER //
CREATE TRIGGER `enabled_update`
BEFORE UPDATE ON `useraccount`
FOR EACH ROW
BEGIN
IF (NEW.`enabledAccount` != OLD.`enabledAccount`) THEN
INSERT INTO `logEvents`
SET `event` = OLD.`employeeID`;
END IF;
END//
DELIMITER ;