2014-02-27 85 views
0

我的时间戳格式是这样的:2014-02-27 08:54:53如何使用时间戳删除行7天以上

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

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

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

编辑:使用MySQL

+0

什么是您的数据库? (MySQL,PostgreSQL,...) – ncrocfer

+0

可能重复[删除时​​间戳超过x天的所有行](http://stackoverflow.com/questions/21206361/delete-all-rows-with-timestamp-older-than -x-days) – aksu

+0

MySQL是我正在使用的。 – Mike

回答

1

DELETE FROM product_views WHERE ViewStamp < DATE_SUB(?, INTERVAL 7 DAYS)

如果你只是想从“现在”,而不是通过时间戳作为参数,可以更换?与SQL函数NOW()

1

尝试,如:

DELETE FROM product_views WHERE ViewStamp < (NOW() - INTERVAL 7 DAY) 
0
$query = "DELETE FROM product_views WHERE ViewStamp < now() - interval 7 day"; 
0

使用DATE_ADD功能,你可以做到这一点。假设您正在使用MySQL

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