用PHP操作数据库某一字段的值每天都归零,有什么办法么?
3个回答
展开全部
有二种方法:
1用MYSQL的存取过程:
具体步骤如下:
一、开启事件
查看event_scheduler状态
show variables like '%sche%';
修改event_schedule状态
set global event_scheduler=1;
(这部分出自http://xp19830105.javaeye.com/blog/667974)
二、创建事件
CREATE EVENT `NewEvent`
ON SCHEDULE EVERY 1 DAY STARTS '2010-11-16 06:00:00'
ON COMPLETION NOT PRESERVE
ENABLE
DO
update serialnumber set value=0
这样serialnumber 表value字段将每天早6点被清零
三、事件调用存储过程
创建存储过程
create PROCEDURE NewProcTest()
begin
update serialnumber set value=0;
end;
查看存储过程
show procedure status;
创建事件
CREATE EVENT `NewEvent`
ON SCHEDULE EVERY 1 DAY STARTS '2010-11-16 06:00:00'
ON COMPLETION NOT PRESERVE
ENABLE
DO
call NewProcTest()
第二种方法:
直接用PHP调用某公共代码,判断时间和是否更新过,然后做相应的处理!
1用MYSQL的存取过程:
具体步骤如下:
一、开启事件
查看event_scheduler状态
show variables like '%sche%';
修改event_schedule状态
set global event_scheduler=1;
(这部分出自http://xp19830105.javaeye.com/blog/667974)
二、创建事件
CREATE EVENT `NewEvent`
ON SCHEDULE EVERY 1 DAY STARTS '2010-11-16 06:00:00'
ON COMPLETION NOT PRESERVE
ENABLE
DO
update serialnumber set value=0
这样serialnumber 表value字段将每天早6点被清零
三、事件调用存储过程
创建存储过程
create PROCEDURE NewProcTest()
begin
update serialnumber set value=0;
end;
查看存储过程
show procedure status;
创建事件
CREATE EVENT `NewEvent`
ON SCHEDULE EVERY 1 DAY STARTS '2010-11-16 06:00:00'
ON COMPLETION NOT PRESERVE
ENABLE
DO
call NewProcTest()
第二种方法:
直接用PHP调用某公共代码,判断时间和是否更新过,然后做相应的处理!
展开全部
再加一字段,记录最后一次归零的日期。
在PHP程序中进行判断,如果当前日期不等于归零日期, 就把此字段清零,同时把归零日期设置为当前日期。
或者弄个windows的计划任务, 每天00:00执行一下。
或者linux的crontab.
在PHP程序中进行判断,如果当前日期不等于归零日期, 就把此字段清零,同时把归零日期设置为当前日期。
或者弄个windows的计划任务, 每天00:00执行一下。
或者linux的crontab.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
php是需要人为提交的,看你的意思ms要自动提交阿
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询