我有一个 product_price_log 表。我在 product_price 表中更新了新价格。
我正在使用触发器:
drop trigger if exists product_update;
delimiter $$
CREATE TRIGGER product_update
BEFORE update ON w3xab_virtuemart_product_prices
FOR EACH ROW
BEGIN
DECLARE virtuemart_product_id int;
DECLARE old_product_price decimal(15,5) default 0;
DECLARE new_product_price decimal(15,5) default 0;
DECLARE price_update_date DATE;
IF (new.product_price <> old.product_price)
THEN
INSERT into product_price_log
(virtuemart_product_id,old_product_price, new_product_price, price_update_date)
VALUES (new.virtuemart_product_id, old.product_price, new.product_price, CURDATE())
ON DUPLICATE KEY UPDATE
old_product_price = VALUES(old.product_price),
new_product_price = VALUES(new.product_price),
price_update_date = CURDATE();
END IF;
END$$
delimiter ;
现在没有错误..但是当我尝试更新价格时更新不起作用...只有插入工作
我设置了measuremart_product_id是主要的关键我不知道发生了什么我完全卡在这一点上......不明白为什么不更新..