如何从MySQL中的触发器插入多个记录

时间:2015-06-28 21:04:54

标签: mysql triggers insert

我是MySQL新手。 我想创建一个触发器,在将记录插入table B后将多个记录插入table A

A中插入的记录包含字段NUM(类型INT(4)),我想将记录插入B,其值从X + 1到{ {1}},其中NUMX中的最高数字。我知道B中不存在NUM,因为B正在使用INSERT

我尝试使用IF EXISTS循环但出现语法错误 - 看起来MySQL在触发器中不允许WHILE

我成功插入了值为WHILE的单条记录,但我无法弄清楚如何插入所有其他记录。

1 个答案:

答案 0 :(得分:0)

我想出了我的问题,这主要是由于处理全局变量的语法而不是在触发器中创建一个集合。 以下代码将执行我想要的操作:

- 完全触发DDL语句 - 注意:只允许CREATE TRIGGER语句 DELIMITER $$

USE q $$

CREATE DEFINER = root {@ {1}} TRIGGER localhostq 插入后event_AUPDq 对于每一行 - 编辑此行下方的触发器正文代码。不要编辑这一行以上的行

BEGIN     DECLARE完成INT DEFAULT FALSE;     DECLARE CONTINUE HANDLER for NOT FOUND SET done = TRUE;

event

END $$