带有IF语句的MySQL触发器

时间:2018-05-05 13:52:43

标签: mysql sql

我正在尝试创建我的第一个MYSQL触发器,当插入一个role_id为4的插入记录时,我希望它使用相同的值插入另一个记录,但是role_id为5。

我尽力而为:

CREATE TRIGGER auto_insert_member
AFTER INSERT ON staff_role
FOR EACH ROW
BEGIN
    IF (NEW.role_id = 4) THEN 
        INSERT INTO staff_role
        SET 
          start_date = NEW.start_date,
          end_date = NEW.end_date,
          person_id = NEW.person_id,
          role_id = 5
    END IF
END

我无法使其工作且phpMyAdmin错误消息没有帮助。我做错了什么?

1 个答案:

答案 0 :(得分:-1)

语法错误可能是由于UPDATE和INSERT方法的混合造成的:

UPDATE TABLE
   SET COLUM1 = VALUE1,
       COLUM2 = VALUE2;

INSERT INTO TABLE 
       (COLUM1, COLUM2) 
VALUES (VALUE1, VALUE2);