很多时候为了提高查询效率,我们会在一些表当中增加冗余字段,例如在客户表里面保存用油卡号,但是如果客户挂失原卡,申请了新的油卡,冗余字段就不正确了,
这时候应该怎么办呢?我们可以创建一个触发器,当客户插入新的油卡数据的时候同时更新客户数据。
delimiter //
CREATE TRIGGER update_cardno_pri AFTER INSERT ON t_oil_card
FOR EACH ROW
BEGIN
# 插入新的主卡的情况、更新大客户数据
if NEW.pri_card='1' then
update t_big_customer_retail set cardno_pri=NEW.cardno where compno=NEW.compno;
end if;
END
//
delimiter ;