MySQL简单的触发器,个人笔记

业务描述:网上选课系统,当用户报名以后,管理员对该报名审核,如果审核通过(订单状态改为 1 ),并且课程表的 名额剩余数量(cCount -1)。必须是通过才 减 一

刚开始接触触发器,被怎么会,后来插了下百度,暂时的解决问题

解决方法如下:

在订单表(stu_order)中创建触发器,当订单表中的字段发生改变时触发,并且oStatus  修改为 1 时,修改课程表中的剩余数量 oCount -1,条件是订单表的oCID = 课程表的cID。


CREATE DEFINER=`root`@`%` TRIGGER `stu_order_after_update` AFTER UPDATE ON `stu_order` FOR EACH ROW BEGIN  //触发器的开头语法,update:表示更改时触发,stu_order:表名
IF(old.oStatus <> 1) THEN  // if判断,当stu_oStatus修改为1时,执行下面的语句

update stu_course set cCount=cCount - 1 where cID = old.oCID;  //修改stu_course表的cCount字段,条件是stu_course.cID = stu_order.oCID
END IF;
END


这是我看的别人帖子,依葫芦画瓢

https://my.oschina.net/viakiba/blog/778794#0-qzone-1-71385-d020d2d2a4e8d1a374a433f596ad1440

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值