从ms sql的背景来看,我对mysql还比较陌生。有人能指出为什么我在这里会出现语法错误吗?我肯定我做了很明显的错事,但我看不出来:
我在第8行发现一个缺少分号的语法错误:

CREATE TRIGGER trg_InsertProductWatchListPriceHistory
AFTER UPDATE
ON ProductWatchlist FOR EACH ROW
BEGIN
INSERT INTO ProductWatchListPriceHistory
(ProductWatchlistID,Price)
VALUES
(ProductWatchlistID,New.ProductPrice);
END;

非常感谢您的帮助。

最佳答案

您需要将默认分隔符更改为;以外的值。否则,您的定义将在第一个;处结束,这将使其不完整。

delimiter |
CREATE TRIGGER trg_InsertProductWatchListPriceHistory
AFTER UPDATE
ON ProductWatchlist FOR EACH ROW
BEGIN
   INSERT INTO ProductWatchListPriceHistory (ProductWatchlistID, Price)
   VALUES (New.ProductWatchlistID, New.ProductPrice);
END
|
delimiter ;

08-28 09:20