gpt4 book ai didi

MySQL AFTER INSERT 触发器 - 使用新值选择 INTO 不起作用

转载 作者:行者123 更新时间:2023-11-29 11:51:06 25 4
gpt4 key购买 nike

在 MySQL 中:

  1. 我有一个面试表,并且
  2. 创建新采访时(采访中插入一行),
  3. 我想向链接到 interview_questions_template 中问题定义的子表 interview_questions 表添加行。

我试图在面试时的 AFTER INSERT 触发器中执行此操作,mysql 说我的 INSERT INTO ... SELECT 语句末尾有语法错误。

我尝试过加入 NEW,认为它可能是一张 table ,但这也不起作用。查看代码?

CREATE TRIGGER interview_AFTER_INSERT AFTER INSERT ON interview 
FOR EACH ROW
BEGIN
INSERT INTO interview_questions (id_interview, id_candidate, id_question_def, s_userid)
SELECT NEW.id_interview, NEW.id_candidate, interview_question_template.id_question_def, NEW.s_userid
FROM interview_question_template;

END

mysqlworkbench 显示的错误是“缺少‘分号’”,在 FROM 后面的 Interview_question_template 下划线。

执行错误表明“”之后的该行有错误。

最佳答案

你做得很好。只需将整个内容包装在分隔符 block 中即可。以下内容在 1064 错误中幸存下来。

DELIMITER $$
CREATE TRIGGER interview_AFTER_INSERT AFTER INSERT ON interview
FOR EACH ROW
BEGIN
INSERT INTO interview_questions (id_interview, id_candidate, id_question_def, s_userid)
SELECT NEW.id_interview, NEW.id_candidate, interview_question_template.id_question_def, NEW.s_userid
FROM interview_question_template;

END
$$
DELIMITER ;

关于Delimiters的重要性,见This Post最下面我的。我在其他地方写得更 Eloquent ,只是找不到引用。 mysql 手册对它的介绍很少,对普通人来说也很冗长。

我很抱歉发布了显而易见的内容。有时人们只需要看到它:P

关于MySQL AFTER INSERT 触发器 - 使用新值选择 INTO 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34050793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com