我正在尝试在magento数据库中的表cataloginventory_stock_item
上添加触发器,以修改具有sku字符串相同部分的所有产品的字段数量。
然而,结果显示我的SQL语法错误。
触发器是:
CREATE TRIGGER UpdateQuantity AFTER UPDATE OF qty ON `cataloginventory_stock_item`
FOR EACH ROW BEGIN
Update cataloginventory_stock_item AS csi
JOIN catalog_product_entity AS cpe ON cpe.entity_id = csi.product_id
JOIN catalog_product_entity_varchar AS cpev ON cpev.entity_id = cpe.entity_id
SET csi.qty = NEW.qty
WHERE cpev.store_id =2 and AND cpe.sku LIKE concat( '%', (SELECT SUBSTRING_INDEX(New.sku, '_', 1 ) FROM catalog_product_entity LIMIT 1 ) , '%');
INSERT INTO logQty VALUES(NEW.qty, old.sku,NOW());
END
答案 0 :(得分:0)
我用你的触发器玩了一段时间并修复了一些语法问题,但似乎这个触发器无法声明,因为事实cataloginventory_stock_item
基本上没有sku字段,但是你引用它一次旧的,一次是New关键字。