🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
比如设置商品库存为2000 ![](https://box.kancloud.cn/999011f1a1000660978183d9b028961e_793x267.png) 但在商品列表还是显示为售罄 ![](https://box.kancloud.cn/b4c4ff52d44cb781f55a5d10a889b15f_1068x366.png) 这就是你的weiphp在安装过程中增加触发器失败导致。在商城中有三个库存量:可用库存,物理库存,锁定库存,它们的关系是: 可用库存 = 物理库存 - 锁定库存 锁定库存是指用户下单时锁定一个商品,如果30分钟内完成支付那它就转销售量,否则它就要释放回可用库存中,供下一个用户下单。 而是否售罄是由可用库存决定的,它的值由数据库触发器来更新,因此如果触发器有问题,它就有问题。 解决方案:手工增加触发器,方法是在数据库中执行以下SQL语句: ``` DROP TRIGGER IF EXISTS `add`; delimiter ;; CREATE TRIGGER `add` BEFORE INSERT ON `wp_shop_goods_stock` FOR EACH ROW set new.stock_active = new.stock - new.lock_count ;; delimiter ; DROP TRIGGER IF EXISTS `save`; delimiter ;; CREATE TRIGGER `save` BEFORE UPDATE ON `wp_shop_goods_stock` FOR EACH ROW set new.stock_active = new.stock - new.lock_count ;; delimiter ; ```