繁体   English   中英

MySQL 尝试创建触发器时出现错误 1064 42000

[英]MySQL Error 1064 42000 while trying to create a trigger

CREATE TRIGGER moving_average 
AFTER INSERT
ON filtered_data FOR EACH ROW
BEGIN 
INSERT INTO moving_average_table (pollutant_id,pollutant_value,lastUpdated,station_id)
VALUES (new.pollutant_id,avg(new.pollutant_value),new.lastUpdated,new.station_id)
END;

我正在尝试使用这段代码在filtered_data 表上创建一个触发器,它在语法上是错误的吗? 我想知道为什么我不断收到语法错误 1064 42000。任何帮助将不胜感激。

我试过这个,它看起来对我有用,

delimiter //
CREATE TRIGGER moving_average 
AFTER INSERT
ON filtered_data FOR EACH ROW
 begin
INSERT INTO moving_average_table (pollutant_id,pollutant_value,lastUpdated,station_id)
VALUES (new.pollutant_id,avg(new.pollutant_value),new.lastUpdated,new.station_id) ;
end//
delimiter ;

根据此https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html

如果使用mysql程序定义一个执行多条语句的触发器,则需要重新定义mysql语句分隔符,以便可以使用; 触发器定义中的语句分隔符。

您应该删除开始...结束或重新定义分隔符

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM