我是MySQL新手。
我想创建一个触发器,在将记录插入table B
后将多个记录插入table A
。
A
中插入的记录包含字段NUM
(类型INT(4)
),我想将记录插入B
,其值从X + 1
到{ {1}},其中NUM
是X
中的最高数字。我知道B
中不存在NUM
,因为B
正在使用INSERT
。
我尝试使用IF EXISTS
循环但出现语法错误 - 看起来MySQL在触发器中不允许WHILE
。
我成功插入了值为WHILE
的单条记录,但我无法弄清楚如何插入所有其他记录。
答案 0 :(得分:0)
我想出了我的问题,这主要是由于处理全局变量的语法而不是在触发器中创建一个集合。 以下代码将执行我想要的操作:
- 完全触发DDL语句 - 注意:只允许CREATE TRIGGER语句 DELIMITER $$
USE q
$$
CREATE
DEFINER = root
{@ {1}}
TRIGGER localhost
。q
插入后event_AUPD
。q
对于每一行
- 编辑此行下方的触发器正文代码。不要编辑这一行以上的行
BEGIN DECLARE完成INT DEFAULT FALSE; DECLARE CONTINUE HANDLER for NOT FOUND SET done = TRUE;
event
END $$