本文主要是介绍mysql 触发器开荒,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
mysql触发器平常没怎么用到过,这次用到了,感觉特别方便。简单总结一下用法。
先看一下我写的这两个触发器:
/*更新触发器*/
DROP TRIGGER IF EXISTS t_update_on_t_tradefee;
CREATE TRIGGER t_update_on_t_tradefee
BEFORE UPDATE ON t_tradefee
FOR EACH ROW
BEGINIF (NEW.margin_profit - OLD.margin_profit)!=0 THENinsert into t_margin_profit(cardno,op_time,price,t_tradeFee_id) values(SUBSTRING(new.cardno,1,3),NOW(),NEW.margin_profit - OLD.margin_profit,NEW.id);END IF;END;
/*添加触发器*/
DROP TRIGGER IF EXISTS t_insert_on_t_tradefee;
CREATE TRIGGER t_insert_on_t_tradefee
AFTER INSERT ON t_tradefee
FOR EACH ROW
BEGINIF new.margin_profit!=0 theninsert into t_margin_profit(cardno,op_time,price,t_tradeFee_id) values(SUBSTRING(new.cardno,1,3),NOW(),NEW.margin_profit,NEW.id); END IF;
END;
需要注意的是:
- if判断里面不能有空格,这里就是
!=0
前后,否则报错。 - 更新触发器如果要用到改变前后的值需要使用
before update
而不是after
,NEW.margin_profit - OLD.margin_profit
这里就是margin_profit列改变后的值-改变前的值。
这篇关于mysql 触发器开荒的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!