我对以下问题的答案中提供的SQL代码进行了少许修改:如何在一定时间后删除MySQL记录但是,每次运行查询时,都会出现“您的SQL语法有错误”错误。
create event delete_session
on schedule at current_timestamp + interval 1 day
on completion preserve
do begin
delete from session where date < DATE_SUB(NOW(), INTERVAL 7 DAYS);
end;
该代码应创建一个事件,以在7天后从会话表中删除条目,但是却给了我这个错误。这里的语法实际上有问题吗?
您的CREATE EVENT
命令和DELETE
命令正在使用;
as分隔符。因此,您的CREATE EVENT
命令在DELETE
命令之后(之前END
)结束。您需要DELIMITER
在开始时设置,以在CREATE EVENT
命令上使用另一个。
-- set the DELIMITER to "|"
DELIMITER |
CREATE EVENT delete_session
ON schedule AT current_timestamp + INTERVAL 1 DAY
ON COMPLETION PRESERVE
DO BEGIN
DELETE FROM session WHERE `date` < DATE_SUB(NOW(), INTERVAL 7 DAY);
END |
-- set the DELIMITER back to the default.
DELIMITER ;
...,您需要再更改一件事:
S
上DAYS
。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句