在mysql数据库中删除超过3个月的行的工作

15 mysql database

我们使用mysql服务器作为集中式日志记录系统,我希望有一个工作来删除\清理超过3个月的表条目.做这个的最好方式是什么?

提前致谢.

-hinling

Jef*_*ume 71

您是否在字段中存储了项目的创建日期?

如果是这样,

DELETE FROM myTable WHERE dateEntered < DATE_SUB(NOW(), INTERVAL 3 MONTH);
Run Code Online (Sandbox Code Playgroud)

应该管用...

您可以在计划的任务/计算机作业中运行它...

  • 不要吝啬你的帖子,但这肯定帮助了我.谢谢 (5认同)

Emi*_*l H 5

MySQL 5.1 支持事件。我自己并没有真正使用过它们,所以我不会为它们提供保证。但是,如果您只想定期运行 DELETE 语句,我认为它会工作得很好。

  • 每 5 分钟按计划创建事件“prune_table”,并从 myTable 中删除,其中时间戳 &lt; NOW() - 600; (4认同)

tpd*_*pdi -1

解释你的问题,“我有不依赖于客户端的代码,我想在数据库上多次运行它,并且我不需要查看输出”,那么答案是“编写一个存储过程,并且定期从任何客户端调用它”。