我有两个表(表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语句错误,因为触发器没有按预期工作。 有什么帮助吗?
答案 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);