大家好我试图创建一个触发器 我做了一个show create trigger并复制了原来的sql; 现在,当我运行它时,我得到一个语法错误。 ??任何死了
CREATE DEFINER=`root`@`localhost` TRIGGER `update_cached_tables_for_product_insert` AFTER INSERT ON `Product` FOR EACH ROW BEGIN INSERT INTO ProductOffercount (product_id, num_offers) VALUES (NEW.id, 0); END
答案 0 :(得分:0)
Mysql会在您的查询(即触发器定义的一部分)之后将;
视为整个语句的结尾。因此,您会收到语法错误。
您需要在CREATE TRIGGER
子句之前重新定义分隔符:
delimiter |
CREATE DEFINER=`root`@`localhost`
TRIGGER `update_cached_tables_for_product_insert` AFTER INSERT ON `Product`
FOR EACH ROW BEGIN
INSERT INTO ProductOffercount (product_id, num_offers) VALUES (NEW.id, 0);
END;
|
delimiter ;