prattom
prattom

Reputation: 1743

Create trigger syntax error while inserting for trigger action

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

Answers (1)

wchiquito
wchiquito

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

Related Questions