繁体   English   中英

在插入到父表 MySQL 后创建 TRUNCATE 子表的触发器

[英]Create trigger that TRUNCATE child table after INSERT into parent table MySQL

我有一个包含以下信息的子表

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

你触发尝试的每一个剩余行插入child_1parent_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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM