MySQL Trigger с оператором IF - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь создать свой первый триггер 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 голосов
/ 05 мая 2018

Возможно, что синтаксическая ошибка вызвана смешением метода UPDATE и INSERT:

UPDATE TABLE
   SET COLUM1 = VALUE1,
       COLUM2 = VALUE2;

INSERT INTO TABLE 
       (COLUM1, COLUM2) 
VALUES (VALUE1, VALUE2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...