mysql触发器将插入表A的表B中,然后在表B上具有另一个插入触发器以将其插入表C中

时间:2019-05-15 07:31:48

标签: mysql triggers insert

我有三个表: A,B,C
A-B = 1:M关系
B-C = 1:1关系

我在表A上这样创建了一个触发器:

DELIMITER $$
CREATE TRIGGER after_tableA_insert
AFTER INSERT
ON tableA
FOR EACH ROW
BEGIN
  -- Insert multiple records
  -- Insert into table B (id, foo) values (NULL,v)
END$$
DELIMITER ;

插入后,表B上还会有一个触发器:

DELIMITER $$
CREATE TRIGGER after_tableB_insert
AFTER INSERT
ON tableB
FOR EACH ROW
BEGIN
  -- insert into tableC values (NEW.id, NEW.foo)
END$$
DELIMITER ;

表A上的单个插入将触发表B上的多个插入。 在表B上单次插入将在表C上单次插入。

我的问题是,以这种方式实现这些“波纹”触发器是合理的,因为我知道可以将值批量插入表中,而不是一个接一个地插入。单插入是有意义的,但是我不确定是否可以在更大范围内使用。

此外,如果批量插入记录而不是简单插入一条记录,数据库引擎将如何执行这些操作?有区别吗?

0 个答案:

没有答案