我有一个包含以下信息的子表
CREATE TABLE child_1(
`Event` TEXT,
`Event Description` TEXT)
然后我有一个包含相似信息的父表
CREATE TABLE parent_1(
`Event` TEXT,
`Event Description` TEXT)
我需要帮助创建一个触发器,该触发器在将其子表插入父表后将其截断。运行以下代码时出现错误。
现在我写了
CREATE TRIGGER TRUNCATE_child_1
AFTER DELETE ON child_1
FOR EACH ROW
BEGIN
INSERT INTO parent_1 VALUES (child_1.`Event`, child_1.`Event Description`)
END
答案 0 :(得分:0)
如果删除了child_1
中的任何行,您的触发器会尝试将parent_1
的其余所有行插入child_1
中。
您似乎需要的是一个存储过程,它将使插入和截断一步一步完成。像这样:
CREATE PROCEDURE move_child_to_parent();
BEGIN
INSERT INTO partner_1 (`Event`, `Event description`)
SELECT `Event`, `Event description`
FROM child_1;
TRUNCATE child_1;
END;