需求:有两张表,一张订单表一张商品表,每生成一个订单商品的库存要减少。
-- 创建表
create table my_goods(
id int primary key auto_increment,
name varchar(20) not null,
price decimal(10,2) default 1,
inv int comment '库存数量'
)charset utf8;
-- 插入数据
insert into my_goods values(null,'ipone',8000,100),(null,'xiaomi',3000,300);
-- 创建表
create table my_order(
id int primary key auto_increment,
g_id int not null comment '商品ID',
g_number int comment '商品数量'
)charset utf8;
触发器
触发器:trigger,事先为某张表绑定好一段代码,当表中的某些内容发生改变的时候(增删改),系统会自动触发代码执行。
触发器:事件类型,触发时间,触发对象
事件类型:增删改insert,delete和update
触发时间:前后before和after
触发对象:表中的每一条记录(行)
一张表中只可以拥有一种触发时间的一种类型的触发器,最多一张表可以有六个触发器。