插入触发器后如何编写基于第一个表的值将数据插入另一个表

时间:2018-04-20 13:06:03

标签: mysql triggers

我想在一个表上插入后创建一个触发器,它会根据第一个表的值将值插入到另一个表中。这就是我所做的并且它不起作用。

CREATE TRIGGER add_into_alerts
AFTER INSERT ON in_sims_responses
FOR EACH ROW 
IF new.sim_response_code='102'
THEN
INSERT INTO bf_alters(company_id,description,event_datetime)
VALUES (NEW.sim_company_id,CONCAT(new.sim_msisdn,'Not Subscribed'),NOW());
END IF

1 个答案:

答案 0 :(得分:0)

对于多语句触发器,您需要在BEGINEND之间包装语句。但是你可以通过使它成为单语句触发器来避免这种情况。在您的情况下,您可以使用条件插入:

INSERT INTO bf_alters(company_id,description,event_datetime)
    SELECT NEW.sim_company_id, CONCAT(new.sim_msisdn,'Not Subscribed'),NOW()
    FROM dual
    WHERE new.sim_response_code='102';