gpt4 book ai didi

mysql - mysql 上的触发更新第二次运行

转载 作者:行者123 更新时间:2023-11-30 22:43:09 25 4
gpt4 key购买 nike

BEGIN 
SET new.Diff = DATEDIFF(new.RepairDate,new.FaultyDate);
UPDATE po
INNER JOIN xt ON po.SerialNumber = new.SerialNumber SET po.Edate = ADDDATE(po.Edate, new.Diff)
WHERE po.SerialNumber = new.SerialNumber;
END

这是我的触发语句。我想将 datediff 使用的整数添加到 Edate。我唯一的问题是,如果我将测试条目插入到 xt 表中以测试此触发器,则什么也不会发生。如果我第二次插入相同的测试条目,它会像第一次尝试时那样工作。第二次尝试后,该条目一切正常。我哪里做错了?如果这是一个愚蠢的问题,请原谅,因为我是 mysql 的新手

抱歉我的英语不好,提前谢谢你!

最佳答案

触发器中的代码不能修改它们作为触发器的表中的数据,除了触发触发器的行(通过 SETting NEW.[field] );这意味着没有涉及该表的 UPDATEINSERTDELETE 操作。

触发器表的 JOIN 显然是 Ibacau 问题的根源。

关于mysql - mysql 上的触发更新第二次运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30517800/

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