带有嵌套select的MySQL触发器
我试图创建一个MySQL触发器,它在表a上的insert之后运行,并且涉及多行。基本上,当我插入表A时,我想在表B中插入一行,其中包含表C中的每一行和表A中插入的ID。有人能帮忙吗 这是总的想法-带有嵌套select的MySQL触发器,mysql,sql,database-trigger,Mysql,Sql,Database Trigger,我试图创建一个MySQL触发器,它在表a上的insert之后运行,并且涉及多行。基本上,当我插入表A时,我想在表B中插入一行,其中包含表C中的每一行和表A中插入的ID。有人能帮忙吗 这是总的想法- DELIMITER | CREATE TRIGGER mailings_create AFTER INSERT ON mailings FOR EACH ROW BEGIN SELECT customer_id, first_name, l
DELIMITER |
CREATE TRIGGER mailings_create AFTER INSERT ON mailings FOR EACH ROW
BEGIN
SELECT
customer_id,
first_name,
last_name,
email
INTO
customer_id,
first_name,
last_name,
email
FROM
cam_customers
WHERE
mail_list = 'T'
AND email IS NOT NULL;
foreach ($data as $row) {
INSERT INTO
mailings_messages
(mailings_id, first_name, last_name, customer_id, email)
VALUES
(NEW.id, first_name, lsat_name, customer_id, email);
}
...
谢谢
埃文怎么样-
DELIMITER |
CREATE TRIGGER mailings_create AFTER INSERT ON mailings
FOR EACH ROW BEGIN
INSERT INTO mailings_messages
(mailings_id, first_name, last_name, customer_id, email)
SELECT NEW.id, first_name, last_name, customer_id, email
FROM cam_customers
WHERE mail_list = 'T'
AND email IS NOT NULL;
SELECT @row_count := ROW_COUNT();
-- INSERT or UPDATE using @row_count here
END;
|
DELIMITER ;
这太棒了-还有一件事-我如何在末尾添加一些东西来更新“邮件”中插入的行数的“消息”?您可以使用
SELECT ROW_COUNT()
检索上一个查询插入的行数。我会更新我的答案。