史上最简单的 MySQL 教程(四十一)「触发器」

案例:网上购物,根据生产订单的类型,商品的库存量对应的进行增和减。此案例涉及两张表,分别为订单表和商品表,下单时,商品表库存减少;退单时,商品表库存增加。如何实现?

触发器

触发器trigger,是指事先为某张表绑定一段代码,当表中的某些内容发生改变(增、删、改)的时候,系统会自动触发代码并执行

触发器包含三个要素,分别为

  • 事件类型:增删改,即insertdeleteupdate
  • 触发时间:事件类型前和后,即beforeafter
  • 触发对象:表中的每一条记录(行),即整张表

每张表只能拥有一种触发时间的一种事件类型的触发器,即每张表最多可以拥有 6 种触发器

创建触发器

-- 创建触发器基本语法
delimiter 自定义符号 -- 临时修改语句结束符,在后续语句中只有遇到自定义符号才会结束语句
create trigger + 触发器名称 + 触发器时间 + 事件类型 on 表名 for each row
begin -- 代表触发器内容开始
-- 触发器内容主体,每行用分号结尾
end -- 代表触发器内容结束
自定义符号 -- 用于结束语句
delimiter ; -- 恢复语句结束符

根据上述案例的需求,我们先来创建两张表,分别为商品表goods和订单表orders,SQL 语句如下:

-- 创建商品表
create table goods(
	id int primary key auto_increment,

你可能感兴趣的:(数据库,史上最简单的,MySQL,教程)