hi iam new to mysql trigger .. this is my first trigger.. im trying to run but got this error
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE x INT; SET x = new.product_price - old.product_price; INSERT into' at line 9
delimiter $$
CREATE TRIGGER product_update
BEFORE update ON w3xab_virtuemart_product_prices
FOR EACH ROW
BEGIN
IF (new.product_price <> old.product_price)
THEN
DECLARE x decimal(10,2) default 0;
SET x = new.product_price - old.product_price;
INSERT into product_price_log(virtuemart_product_id, old_product_price, new_product_price, product_price_update, price_update_date)
VALUES (new.virtuemart_product_id, old.product_price, new.product_price, new.x, curtime());
END IF;
END$$
delimiter ;
DECLARE is permitted only inside a BEGIN ... END compound statement and must be at its start, before any other statements.
So move DECLARE after BEGIN.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.