我是靠谱客的博主 沉静汽车,最近开发中收集的这篇文章主要介绍mysql 触发器执行失败_mysql-Mysql数据库触发器执行不成功,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Mysql数据库中有order、orderitem和goods三张表,其中order与orderitem通过order的ID字段与orderitem的orderid字段关联;其中goods与orderitem通过goods的ID字段与orderitem的goodsid字段关联;

现在想做一个触发器,当一个订单被确认的时候,该订单中所有产品的剩余数量和出售数量做相应的改变,order表isvalid字段的值有其他值变为Y的时候更新goods表中store和salecount值,请问写入下的触发器为什么不能实现目的呢,另外在脚本中提示已经创建成功怎么通过SELECT * FROM information_schema.TRIGGERS;查询不到触发器呢?

delimiter ||

drop trigger if exists updatestore||

create trigger updatestore after update on order for each row

begin

declare numorder int(11);

set numorder = (select count(count) from orderitem where orderid = old.id);

if new.isvalid ='Y' and old.isvalid !='Y' then

update goods set store = store - @numorder, salecount = salecount + @numorder where id in (select goodsid from zsorderitem where orderid = old.id);

end if;

if new.isvalid !='Y' and old.isvalid ='Y' then

update goods set store = store + @numorder, salecount = salecount - @numorder where id in (select goodsid from orderitem where orderid = old.id);

end if;

end||

最后

以上就是沉静汽车为你收集整理的mysql 触发器执行失败_mysql-Mysql数据库触发器执行不成功的全部内容,希望文章能够帮你解决mysql 触发器执行失败_mysql-Mysql数据库触发器执行不成功所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部