不允许在AFTER触发器中更新新行

编程入门 行业动态 更新时间:2024-10-24 13:24:39
本文介绍了不允许在AFTER触发器中更新新行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

使用此触发器时为什么出错?

CREATE TRIGGER save_Assignee AFTER INSERT ON changeitem FOR EACH ROW BEGIN SET new.assignee = ( SELECT assignee FROM jiraissue INNER JOIN changegroup ON jiraissue.ID = changegroup.issueid ) END

错误消息:

#1362-不允许在AFTER触发器中更新新行

推荐答案

正确。如果要修改数据,则需要before insert触发器:

create TRIGGER save_Assignee BEFORE INSERT ON changeitem FOR EACH ROW BEGIN SET new.assignee = (select assignee from jiraissue INNER JOIN changegroup ON jiraissue.ID = changegroup.issueid ) END

顾名思义,后插入触发器在数据更新后运行。因此,如果要更新同一行,请使用BEFORE触发器。

您的子查询看起来可疑,因为它与new没有关联,而且看起来可能返回多行。

更多推荐

不允许在AFTER触发器中更新新行

本文发布于:2023-10-22 08:27:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1516981.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:新新   不允许   器中

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!