创建insert触发器,实现插入销售明细后,更新商品信息表的库存和已销售数量。

在db_shop数据库中,为销售明细表(tb_orderdetail)创建一个INSERT触发器,实现插入一条销售明细信息后,自动更新商品信息表(tb_goodsinfo)的库存量和已销售数量。
注意:记录触发器代码,并记录触发器工作运行的结果。
SQL:delimiter //
create trigger auto_renewal_log after insert
on tb_orderdetail for each row
update tb_goodsinfo set amonnt_stock=amont_stock-number,amont_sold=amont_sold+number from tb_orderdetail where goodsid=new.goodsid;
//
delimiter ;
运行结果:select * from tb_orderdetail;
select * from tb_goodsinfo;
insert tb_orderdetail (goodsid,number)
values (5702015122467,2);
/* SQL错误(1054):Unknown column 'number' in 'field list' */

销售明细表:https://img-mid.csdnimg.cn/release/static/image/mid/ask/278412853556136.jpg

商品信息表:

img


为什么出错,要怎么改?

注意事项:

  1. amount的拼写
  2. update里的from删掉
  3. number前加new.
    delimiter //
    create trigger auto_renewal_log after insert
    on tb_orderdetail for each row
    update tb_goodsinfo set amount_stock=amount_stock-new.number,amount_sold=amount_sold+new.number where goodsid=new.goodsid;
    //
    delimiter ;