3个回答
展开全部
两种方案:
一种是正统方案,把SQL语句提交给运维人员,他们会处理,一般是用crond解决。
另外,有一种很邪行的办法,不推荐,但无可奈何的时候可以用一下。
如果有某个文件,比如comm.php是被所有文件引用的,在它里面加一段:
if (mt_rand(1, 1000) == 1) {
//run your sql
}
其目的就是按照千分之一的概率去执行删除数据的动作。
一方面确实可以删除数据,另一方面也避免了每次执行PHP页面都占用数据库资源。
可以适当监控一下,调整成合适的执行概率。
或者,把这一小段代码放到index.php里面也可以。
展开全部
首先用date函数构造当天日期字符串,然后具体到一个表的删除是 delete from 表 where 时间<'2013-09-26'就可以。
追问
我的意思是想系统自动删除系统获取的当前时间的前一天的数据
追答
你这个系统自动是自动到什么程度,php程序你不调用,它不执行,你想让数据库自己每天执行一下删除操作?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select date_sub(curdate(),interval 1 day) as day;
可以得到前一天的时间
所以删除前一天的数据语句为
delete from table where 字段< (select date_sub(curdate(),interval 1 day) as day);
可以得到前一天的时间
所以删除前一天的数据语句为
delete from table where 字段< (select date_sub(curdate(),interval 1 day) as day);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询