尝试在 phpmyadmin 中创建一个事件,其中删除超过 5 天的记录

Trying to create an event in phpmyadmin where records older than 5 days are deleted

我正在编写一个查询来删除 post 日期超过 5 天的任何行。 post日期格式为日期('Y-m-d H:i:s').

调试时,我只是尝试删除 table 中的所有行,并每 10 秒删除整个 table。但是当添加语句的其余部分时,当我使用 "getdate()" 函数时似乎不起作用。

出于测试原因,我让它每 10 秒重复一次,并将其与未来的日期进行比较。

ON SCHEDULE 
EVERY 10 SECOND 
ON COMPLETION NOT PRESERVE ENABLE 
DO 
DELETE FROM posts WHERE postDate < DATEADD(dd,1,GETDATE())

table里面的记录我做了也没有删除

DELETE FROM posts WHERE postDate != DATEADD(dd,1,GETDATE())

仅当语句为:

时才删除记录
DELETE FROM posts

如果我没记错的话...

此删除将删除所有内容,因为您包括了明天之前创建的所有帖子,所以我认为这意味着所有帖子。

DELETE FROM posts WHERE postDate < DATEADD(dd,1,GETDATE())

这次删除会删除postDate与明天不同的所有记录,所以我得出的结论与上一点相同。

DELETE FROM posts WHERE postDate != DATEADD(dd,1,GETDATE())

此删除将删除整个 table

DELETE FROM posts

我建议您通过此更改 DATEADD 以符合您的要求 ("to delete any row which has a post date over 5 days ago"):

DATE_ADD(date, INTERVAL -5 day)