1、作用
监视某种操作并触发某种操作。即监视某表的变化,当发生某变化时,触发某个操作。
2、触发器能监视的操作:增、删、改
3、触发器能触发的操作:增、删、改
4、语法
(1)创建触发器
delimiter $ #此行结尾不要加;,否则结束符号为$; 而不是$
create trigger 触发器名称
before/after insert/update/delete on 表名
for each row
begin
触发的操作sql,各sql之间用;隔开
end$
例子:order表是订单表,其中num字段是订单的商品数量,goods_id是商品id;goods表是商品表,字段goods_num是库存。下面触发器要实现的是,下单后修改商品库存。
delimiter $
create trigger tg1
after insert on order
for each row
begin
update goods set goods_num = goods_num - new.num where goods_id = order.goods_id;
end$
注:上述触发器中的new表示新增加的订单记录本身。
(2)删除触发器
drop trigger 触发器名称$
例子:下面触发器要实现的是删除订单,库存增加。
create trigger tg2
after delete on o