Reputation: 1743
I am trying to create a trigger such that if there is any change in a particular table column then event should be created in another. I am using following sql query for this
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;
But I am getting following error when I am trying to run this query. Error in query (1064): Syntax error near '' at line 6 and Error in query (1064): Syntax error near 'END IF' at line 1. Where I am mistake?
Upvotes: 0
Views: 31
Reputation: 16551
Use the DELIMITER
command, see 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 ;
Upvotes: 1