一、触发器
当商品信息和库存信息分别存放在两个不同的数据表中时,可以创建一个触发器, 让商品信息数据的插入操作自动触发库存数据的插入操作。这样一来,就不用担心因为忘记添加库存数据而导致的数据缺失了。
1、如何操作触发器
创建触发器
创建触发器语法结构:
CREATE TRIGGER 触发器名称 {BEFORE|AFTER} {
INSERT|UPDATE|DELETE}
ON 表名 FOR EACH ROW 表达式:
在创建时,你一定要注意触发器的三个要素:
- 表名:表示触发器监控的对象。
- INSERT | UPDATE | DELETE:表示触发的事件。INSERT表示插入记录时触发; UPDATE表示更新记录时触发; DELETE 表示删除记录时触发。
- BEFORE | AFTER:表示触发的时间。BEFORE表示在事件之前触发; AFTER表示在事件之后触发。
查看触发器
SHOW TRIGGERS\G;
删除触发器
DROP TRIGGER 触发器名称;
案例
超市项目实际实施过程中,客户经常要查询储值余额变动的明细,但是,查询会员消费流水时,存在数据汇总不及时、查询速度比较慢的问题。这时,我们就想到用触发器,及时把会员储值金额的变化信息记录到一个专门的表中。
DELIMITER //
CREATE TRIGGER demo.upd_membermaster BEFORE UPDATE -- 在更新前触发
ON demo.membermaster
FOR EACH ROW