【发布时间】:2020-03-22 19:54:10
【问题描述】:
我需要使用触发器在数据库中插入不同的数据,具体取决于先前对表进行的更新,尽管由于某种原因我不断收到语法错误。我检查了很多与我类似的问题,但我的代码仍然看起来不错。
触发器:
DELIMITER $$
CREATE TRIGGER update_history
AFTER UPDATE ON product
FOR EACH ROW
BEGIN
IF OLD.amount - NEW.amount > OLD.amount THEN
INSERT INTO product_history (amount_of_new_products, product_id, user_id, updated_on, type_of_change)
VALUES ((NEW.amount - OLD.amount), NEW.id, NEW.user_id, now(), 'order');
ELSE
INSERT INTO product_history (amount_of_new_products, product_id, user_id, updated_on, type_of_change)
VALUES ((NEW.amount - OLD.amount), NEW.id, NEW.user_id, now(), 'update');
END$$
DELIMITER ;
错误:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 11 行的 '' 附近使用
我该如何解决这个问题?
【问题讨论】:
标签: mysql if-statement triggers