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
这是我的触发陈述。
我想添加Edate使用datediff生成的整数。
我唯一的问题是,如果我在xt
表中插入测试条目来测试此触发器,则不会发生任何事情。
如果我第二次插入相同的测试条目,它在第一次尝试时应该有效。
在第二次尝试后,一切正常。
我哪里做错了?
如果这是一个愚蠢的问题,请原谅我,因为我是mysql的新手
抱歉我的英文不好,并提前感谢你!
答案 0 :(得分:0)
触发器中的代码无法修改它们作为触发器的表中的数据,而不是触发触发器的行(通过SET
ting NEW.[field]
);这意味着没有涉及该表的UPDATE
,INSERT
或DELETE
操作。
触发表的加入显然是Ibacau问题的根源。