MySQL触发器上的IF条件
我有两个表(表A、表B)具有相同的字段(user_id、domi、ipiresia)。 用户可以在表A中添加值。我希望在表B中自动插入这些值,但只有在用户id未包含在表B中时才能插入。 开 我知道IF语句是错误的,因为触发器没有按预期工作。MySQL触发器上的IF条件,mysql,triggers,Mysql,Triggers,我有两个表(表A、表B)具有相同的字段(user_id、domi、ipiresia)。 用户可以在表A中添加值。我希望在表B中自动插入这些值,但只有在用户id未包含在表B中时才能插入。 开 我知道IF语句是错误的,因为触发器没有按预期工作。 有什么帮助吗?您根本不需要IF。只需在触发器上执行insert select,如下所示: INSERT INTO table_b (user_id, domi, ipiresia) SELECT NEW.user_id, NEW.domi, NEW.i
有什么帮助吗?您根本不需要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);
先自己尝试一下。研究,学习,而不是把你的努力粘贴在这里。这将是所有人都很容易帮助你更好更快,谢谢你的代码。一个小的修正只是…'选择。。。。从表a'而不是表b。
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);