MySql触发器

#创建商品表
CREATE TABLE good(
gid INT PRIMARY KEY AUTO_INCREMENT,#商品编号,主键,自增长
gname CHAR(16),#商品名称
gnum INT#商品数量
);

#创建订单表
CREATE TABLE orders(
oid INT PRIMARY KEY AUTO_INCREMENT,#订单编号,主键,自增长
gid INT,#商品编号
much INT#商品数量

);

#初始化两个表
INSERT INTO good(gname,gnum)VALUES('商品1',10),('商品2',20),('商品3',15),('商品4',20);
INSERT INTO orders(gid,much)VALUES(1,10),(2,5),(3,15);

#创建增删改查的触发器
#(增加)
DELIMITER $
CREATE TRIGGER tinsert
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
UPDATE good SET gnum = gnum-new.much WHERE gid=new.gid;
END$
#(修改)
DELIMITER $
CREATE TRIGGER tupdate
AFTER UPDATE ON orders
FOR EACH ROW 
BEGIN
UPDATE good SET gnum = gnum - new.much + old.much WHERE gid = new.gid;
END$

#测试(自己编写测试语句,并查询检验 触发器是否起作用)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值