MySQL触发的IF条件

时间:2015-10-08 05:01:35

标签: mysql triggers

我有两个表(表A,表B),具有相同的字段(user_id,domi,ipiresia)。 用户可以在表A中添加值。我希望这些值仅在表B中未包含user_id时自动插入表B BUT 中。 上。

CREATE TRIGGER new_value_added 
AFTER INSERT ON table_a
FOR EACH ROW
  IF NEW.user_id != user_id
  INSERT INTO table_b (user_id, domi, ipiresia)
  VALUES (NEW.user_id, NEW.domi, NEW.ipiresia);

我知道IF语句错误,因为触发器没有按预期工作。 有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

您根本不需要IF。只需在触发器上执行insert select,就像这样:

INSERT INTO table_b (user_id, domi, ipiresia)
   SELECT NEW.user_id, NEW.domi, NEW.ipiresia
     FROM table_a
    WHERE NOT EXISTS (select 1 from table_b where user_id = NEW.user_id);