将触发器添加到Magento表中以更新数量

时间:2012-11-08 01:10:57

标签: mysql magento triggers eventtrigger

我正在尝试在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

1 个答案:

答案 0 :(得分:0)

我用你的触发器玩了一段时间并修复了一些语法问题,但似乎这个触发器无法声明,因为事实cataloginventory_stock_item基本上没有sku字段,但是你引用它一次旧的,一次是New关键字。