尝试在 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)
我正在编写一个查询来删除 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)