php中删除数据库中在当前时间一天以前的数据怎么实现啊?

mysql数据库中的数据... mysql数据库中的数据 展开
 我来答
cndavidwang
2013-09-26 · TA获得超过127个赞
知道小有建树答主
回答量:167
采纳率:100%
帮助的人:79万
展开全部

两种方案:

一种是正统方案,把SQL语句提交给运维人员,他们会处理,一般是用crond解决。


另外,有一种很邪行的办法,不推荐,但无可奈何的时候可以用一下。

如果有某个文件,比如comm.php是被所有文件引用的,在它里面加一段:

if (mt_rand(1, 1000) == 1) {
    //run your sql
}

其目的就是按照千分之一的概率去执行删除数据的动作。

一方面确实可以删除数据,另一方面也避免了每次执行PHP页面都占用数据库资源。

可以适当监控一下,调整成合适的执行概率。

或者,把这一小段代码放到index.php里面也可以。

TheThinKing
2013-09-26 · TA获得超过552个赞
知道小有建树答主
回答量:599
采纳率:100%
帮助的人:475万
展开全部
首先用date函数构造当天日期字符串,然后具体到一个表的删除是 delete from 表 where 时间<'2013-09-26'就可以。
追问
我的意思是想系统自动删除系统获取的当前时间的前一天的数据
追答
你这个系统自动是自动到什么程度,php程序你不调用,它不执行,你想让数据库自己每天执行一下删除操作?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
漫靖厹0r
2013-09-26 · TA获得超过214个赞
知道答主
回答量:46
采纳率:0%
帮助的人:62.9万
展开全部
select date_sub(curdate(),interval 1 day) as day;
可以得到前一天的时间
所以删除前一天的数据语句为
delete from table where 字段< (select date_sub(curdate(),interval 1 day) as day);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式