首页 > 解决方案 > 自动过期帖子

问题描述

我有一个广告发布网站,我想添加一个功能,让广告在 30 天后将状态从“活动”更改为“非活动”。那么该查询应该是什么,或者 JavaScript 可以完成这项工作?

另外请告诉我该怎么做。

标签: javascriptphpsql

解决方案


30天是很长的时间。基本上有两种方法。

第一种是使用定期安排的作业来更改广告的状态。本质上,是这样的:

update ads
    set status = 'inactive'
    where create_date < current_timestamp - interval '30 day';

(确切的语法和表/列引用取决于您的系统。)

第二种方法是创建视图:

create view v_ads as
    select a.*
    from ads a
    where create_date > current_timestamp - interval '30 day';

这只会获取过去 30 天内的广告。您永远不必更新数据库,并且您可以随时调整时间间隔。


推荐阅读