我正在使用 MySQL 5.5。我需要使用 mysql 触发器语法向我的表添加触发器:http: //dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html
他们给出的例子并没有解释我该如何去做——
我有一张桌子 - table(a INT, b INT, c INT);
。fielda
和b
是数字,而 fieldc
应该是a
+ b
。现在我敢肯定你想知道为什么不把它放在一个视图中并完成它,或者为什么不把它放在我的代码中。原因是因为我正在与需要自动计算字段的便利性的客户合作,并且能够修改值以防它需要变化。他们是一家审计公司,由于公司缺少审计日期等,通常需要按摩数字。
那么如何创建一个触发器,它将:
on insert:
make `c` the value of `a` + `b`.
on update:
if the value of NEW.`c`==OLD.`c` THEN
make `c` the value of `a` + `b`.
ELSE
no change
如果新值与旧值不同,更新不会改变的原因是因为这意味着他们希望将数字修改为与实际总和略有不同。
请随意更改我的逻辑 - 我的目标是保留c
手动输入的值,如果没有手动触摸,则将其爆破。
谢谢!