0
我需要从3周前的数据库表中自动删除数据。以本周为第10周,我需要删除(10-2)第08周的数据。这里的周数不是动态的。它不断变化。所以如果我在第12周进入一个项目,第10周的数据应该从表中删除。删除特定周的数据
我需要从3周前的数据库表中自动删除数据。以本周为第10周,我需要删除(10-2)第08周的数据。这里的周数不是动态的。它不断变化。所以如果我在第12周进入一个项目,第10周的数据应该从表中删除。删除特定周的数据
你有2个选项。
1.Event调度
首先创建表,并创建活动为删除3个星期前的记录进行删除查询。
CREATE EVENT `ex1` ON SCHEDULE
EVERY 1 DAY
ON COMPLETION NOT PRESERVE
ENABLE
COMMENT ''
DO BEGIN
DELETE FROM table WHERE DATEDIFF(NOW(),TimeStampColumn) > 21
END
//for 3 weeks
注:MySQL的老版本没有事件调度
2.创建cron作业
file1.sql
DELETE FROM table WHERE DATEDIFF(NOW(),TimeStampColumn) > 21
时间表此命令:
mysql -uusername -ppassword < /path/to/file1.sql
您可以使用调度任务从数据库执行删除操作 – anomepani