案例:网上购物,根据生产订单的类型,商品的库存量对应的进行增和减。此案例涉及两张表,分别为订单表和商品表,下单时,商品表库存减少;退单时,商品表库存增加。如何实现?
触发器
触发器:trigger
,是指事先为某张表绑定一段代码,当表中的某些内容发生改变(增、删、改)的时候,系统会自动触发代码并执行。
触发器包含三个要素,分别为
- 事件类型:增删改,即
insert
、delete
和update
; - 触发时间:事件类型前和后,即
before
和after
; - 触发对象:表中的每一条记录(行),即
整张表
。
每张表只能拥有一种触发时间的一种事件类型的触发器,即每张表最多可以拥有 6 种触发器。
创建触发器
-- 创建触发器基本语法
delimiter 自定义符号 -- 临时修改语句结束符,在后续语句中只有遇到自定义符号才会结束语句
create trigger + 触发器名称 + 触发器时间 + 事件类型 on 表名 for each row
begin -- 代表触发器内容开始
-- 触发器内容主体,每行用分号结尾
end -- 代表触