使用触发器包括条件在mySQL中创建第二个表

时间:2019-01-14 10:34:51

标签: mysql mysqli

我有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 :(得分:0)

您可以使用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;