我正在使用MySQL 5.5。我需要一個觸發添加到用mysql觸發器語法我的表:http://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.htmlMYSQL觸發器 - 如何存儲計算字段的結果
他們給不解釋我怎麼能去這樣做的例子 -
我有一個表 - table(a INT, b INT, c INT);
。字段a
和b
是數字,而字段c
應該是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
的值(如果已手動輸入),並在未手動觸摸的情況下進行爆破。
謝謝!