INSERT 触发器,INSERT 多行

Trigger for INSERT, INSERTS multiple rows

我正在创建一个触发器,它将在我手动将数据插入表 A 后将数据插入表 B。

我目前的问题是,在向表 A 中插入多行后,表 B 将创建比需要更多的行。

例如向表 A 中插入 3 行数据将导致触发器向表 B 中插入 6 行。问题似乎是针对每次插入跟踪表 A 中每一行的触发器。

触发器如下

CREATE TRIGGER trigger1
AFTER INSERT ON tableA 
FOR EACH ROW
    INSERT INTO tableB(cust_id, name)
    SELECT new.cust_id, new.name FROM tableA;

从 3 次插入 tableA 得到的两个表的输出如下。

表A

cust_id name
0001 Frodo
0002 Sam
0003 Merry

表B

cust_id name
0001 Frodo
0002 Sam
0002 Sam
0003 Merry
0003 Merry
0003 Merry

我目前正在寻找一种方法,让 tableA 中的 1 行在 tableB 中创建 1 行,并且在两个表中具有相似数量的行。

如有任何帮助或建议,我们将不胜感激。

for each row - 表示插入的每一行,而不是 insert..select insert..values 更合适

CREATE TRIGGER trigger1 AFTER INSERT ON tableA 
FOR EACH ROW 
INSERT INTO tableB(cust_id, name) values(new.cust_id, new.name);