如何删除时间戳超过 7 天的行

Posted

技术标签:

【中文标题】如何删除时间戳超过 7 天的行【英文标题】:How to delete rows with timestamp older than 7 days 【发布时间】:2014-02-27 15:12:36 【问题描述】:

我的时间戳格式如下所示:2014-02-27 08:54:53

表格为product_views,时间字段为ViewStamp。我不知道如何删除超过 7 天的行。

$query="DELETE FROM product_views WHERE ViewStamp< ?";

感谢您的帮助。我仍然是初学者,所以如果我没有提供足够的信息,请告诉我,我会编辑。

编辑:使用 mysql

【问题讨论】:

你的数据库是什么? (MySQL、PostgreSQL、...) Delete all rows with timestamp older than x days的可能重复 我正在使用 MySQL。 【参考方案1】:

DELETE FROM product_views WHERE ViewStamp &lt; DATE_SUB(?, INTERVAL 7 DAYS)

如果您只想从“现在”开始而不是传递时间戳作为参数,您可以将 ? 替换为 SQL 函数 NOW()

【讨论】:

【参考方案2】:

试试看:

DELETE FROM product_views WHERE ViewStamp < (NOW() - INTERVAL 7 DAY)

【讨论】:

【参考方案3】:
$query = "DELETE FROM product_views WHERE ViewStamp < now() - interval 7 day";

【讨论】:

【参考方案4】:

使用 date_add 函数可以做到这一点。假设你使用的是 MySQL

DELETE FROM product_views WHERE ViewStamp < DATE_ADD(NOW(),INTERVAL -7 DAY)

【讨论】:

以上是关于如何删除时间戳超过 7 天的行的主要内容,如果未能解决你的问题,请参考以下文章

删除所有超过 5 天的行

MySQL:删除所有超过 10 分钟的行

删除超过 7 天的文件

当“参数列表太长”时如何删除所有超过 3 天的文件?

如何从 iPhone 的文档目录中删除超过两天的文件

如何删除超过1天的文件