我的数据库中有一些数据 这些数据每天更新 我想在我的数据库中只保留1周的数据 我不想要超过1周的数据
任何人都可以告诉我如何删除除数据库中的一周数据之外的所有数据
答案 0 :(得分:3)
设置cron作业以检查数据何时超过一周。然后使用where子句删除。
DELETE FROM table WHERE DATEDIFF(NOW(),TimeStampColumn) > 7
答案 1 :(得分:0)
RRDtool数据库格式和绑定可以轻松访问各种语言的循环数据库功能; RRD是许多系统监控工具的事实标准。
答案 2 :(得分:0)
最简单的方法:确保记录数据库中所有数据的输入日期/时间,并运行一个cron以定期删除超过一周的所有数据。
答案 3 :(得分:0)
您有2个选项。
1.Event Scheduler
首先创建表并创建事件以执行删除1周前删除查询记录。
CREATE EVENT `ex1` ON SCHEDULE
EVERY 1 DAY
ON COMPLETION NOT PRESERVE
ENABLE
COMMENT ''
DO BEGIN
DELETE FROM table WHERE DATEDIFF(NOW(),TimeStampColumn) > 7
END
//for 3 weeks
注意:旧版本的mysql没有事件调度程序
<强> 2。创建cron作业
<强> file1.sql 强>
DELETE FROM table WHERE DATEDIFF(NOW(),TimeStampColumn) > 7
安排此命令:
mysql -uusername -ppassword&lt; /path/to/file1.sql