Создать в MySQL вторую таблицу с триггером, включающим несколько условий - PullRequest
0 голосов
/ 14 января 2019

У меня Mysql table1 и я создаю триггер, чтобы сделать еще один table2 при вставке новой строки. Это прекрасно работает, и теперь у меня есть две идентичные таблицы :). Я хочу внести некоторые изменения (условия) при создании второй таблицы.

CREATE TRIGGER `listener` AFTER INSERT ON `table1` FOR EACH ROW
INSERT INTO `table2` (column1, column2,column3, column4) VALUES (new.column1, new.column2, new.column3, new.column4)

Я пытаюсь включить в триггер некоторые условия до создания table2.

Примерно так:

INSERT INTO table2 (column1, column2,.......) VALUES (new.val1, new.val2....)
WHERE column1 LIKE '%name1%' OR LIKE '%name2%'

1 Ответ

0 голосов
/ 14 января 2019

Вы можете использовать INSERT SELECT из dual:

INSERT INTO table2
           (column1,
            column2,
            ...)
           SELECT new.val1,
                  new.val2,
                  ...
                  FROM dual
                  WHERE new.val1 LIKE '%name1%'
                         OR new.val1 LIKE '%name2%';

Или просто IF:

IF new.val1 LIKE '%name1%'
    OR new.val1 LIKE '%name2%' THEN
  INSERT ...;
END IF;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...