mysql数据库--触发器和代码执行结构

本文介绍了如何在MySQL中使用触发器来实现订单生成时自动更新商品库存的功能。详细讲解了创建、查看、使用、修改和删除触发器的步骤,并探讨了触发器在遇到库存不足情况下的处理方法。同时,讨论了代码执行结构中的分支结构,特别是触发器与IF分支结合的应用,确保在商品库存不足时无法插入订单。
摘要由CSDN通过智能技术生成

需求:有两张表,一张订单表一张商品表,每生成一个订单商品的库存要减少。

-- 创建表
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
	触发对象:表中的每一条记录(行)
一张表中只可以拥有一种触发时间的一种类型的触发器,最多一张表可以有六个触发器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值