带有IF语句的MySQL触发器

问题描述 投票:0回答:1

我正在尝试创建我的第一个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错误消息没有帮助。我究竟做错了什么?

mysql sql
1个回答
-1
投票

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

UPDATE TABLE
   SET COLUM1 = VALUE1,
       COLUM2 = VALUE2;

INSERT INTO TABLE 
       (COLUM1, COLUM2) 
VALUES (VALUE1, VALUE2);
© www.soinside.com 2019 - 2024. All rights reserved.