第九区-Jquery超级群

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 728|回复: 10

怎样自动更新数据库中表的某个字段 [复制链接]

Rank: 2

发表于 2011-7-12 09:02:29 |显示全部楼层
php下,怎样将mysql数据库中某张表的某个字段值在每天凌晨00:00:00的时候自动进行更改,比如该字段的值原始的都为0,更改将值改为1 ,每天自动进行更改的话,只进行更改一条数据,当下次更改时,上次更改过的值(也就是1)再还原为0   、也就是说,该字段的所有数据只有一条是1,其余都为0      求思路,如有相关代码,不胜感激、、、、

Rank: 7Rank: 7Rank: 7

热心会员

发表于 2011-7-12 09:29:03 |显示全部楼层
走别人的路,让别人打酱油去吧

使用道具 举报

Rank: 9Rank: 9Rank: 9

发表于 2011-7-12 10:11:51 |显示全部楼层
0和1无非是一个逻辑非,应该没难度的,写个php程序来改就可以了。
定时有很多解决方法:
MySQL从5.1开始支持event功能,类似oracle的job功能;
我以前用的方法,是在index.php里加个判断,记录上次执行时间,然后看间隔有没有到,过了间隔时间就再执行一次;
服务器的任务计划也可以实现这个功能而且运行效率更高;
我现在用的方法是最偷懒的:在自己工作的电脑上开了任务计划,到时间远程调用程序,这样设计最简单,服务器负荷没有,唯一条件是你的客户端每天要开着,所以时间放到半夜就不是很合适了。

使用道具 举报

Rank: 9Rank: 9Rank: 9

发表于 2011-7-12 10:12:59 |显示全部楼层
windows的任务计划在控制面板里面,LINUX也有相同的功能。

使用道具 举报

Rank: 2

发表于 2011-7-12 21:15:04 |显示全部楼层
admin,你说的在index.php里写个判断,记录上次执行时间,然后看间隔有没有到,过了间隔时间就再执行一次;index.php这个页面可以自动执行吗?不需要加载吗?求教,admin

使用道具 举报

Rank: 7Rank: 7Rank: 7

发表于 2011-7-12 23:49:02 |显示全部楼层
类似crontab的功能。。。。。计时器  有系统来执行。。。。

使用道具 举报

Rank: 7Rank: 7Rank: 7

发表于 2011-7-13 07:46:54 |显示全部楼层
addlehead 发表于 2011-7-12 21:15
admin,你说的在index.php里写个判断,记录上次执行时间,然后看间隔有没有到,过了间隔时间就再执行一次;i ...

index.php是由用户调用的啊。其实用这种方式,时间上是有误差的,比如你设了每晚12点运行,但第一个客户是早上8点访问的,那么实际上,这个程序的运行时间是早上8点,但由于第一个用户调用时就执行了这个程序,所以访客是不会发现的。
这个方法的缺点是你必须记录上次执行时间并在每次调用index.php时判定,这样负载的压力就大了,如果你的页面是静态化的并开了较长时间的页面缓存,也会出现问题,所以其实是不推荐的。
如果有服务器权限,可以用linux的crontab或windows的任务计划,如果没有,就在自己常用的电脑上上设个任务计划远程调用吧。

使用道具 举报

Rank: 2

发表于 2011-7-13 09:18:48 |显示全部楼层
本帖最后由 宁静致远 于 2011-7-13 09:19 编辑
简单 发表于 2011-7-13 07:46
index.php是由用户调用的啊。其实用这种方式,时间上是有误差的,比如你设了每晚12点运行,但第一个客户是早上8点访问的,那么实际上,这个程序的运行时间是早上8点,但由于第一个用户调用时就执行了这个程序,所以访客是不会发现的。
这个方法的缺点是你必须记录上次执行时间并在每次调用index.php时判定,这样负载的压力就大了,如果你的页面是静态化的并开了较长时间的页面缓存,也会出现问题,所以其实是不推荐的。
如果有服务器权限,可以用linux的crontab或windows的任务计划,如果没有,就在自己常用的电脑上上设个任务计划远程调用吧。

  这样啊。那万一自己忘记开电脑了,不就挂 了啊

使用道具 举报

Rank: 2

发表于 2011-7-13 10:09:07 |显示全部楼层
index.php是由用户调用的啊。其实用这种方式,时间上是有误差的,比如你设了每晚12点运行,但第一个客户是早上8点访问的,那么实际上,这个程序的运行时间是早上8点,但由于第一个用户调用时就执行了这个程序,所以访客是不会发现的。
这个方法的缺点是你必须记录上次执行时间并在每次调用index.php时判定,这样负载的压力就大了,如果你的页面是静态化的并开了较长时间的页面缓存,也会出现问题,所以其实是不推荐的。
如果有服务器权限,可以用linux的crontab或windows的任务计划,如果没有,就在自己常用的电脑上上设个任务计划远程调用吧。


页面什么时候访问,程序就什么时候执行,这跟定时自动操作有背啊,如果用windows的任务计划的话,那能保证别人的电脑也开启了吗?求教、、、

使用道具 举报

Rank: 7Rank: 7Rank: 7

发表于 2011-7-13 16:49:56 |显示全部楼层
拿东西 灌水

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|第九区-Jquery超级群    点击这里加入此群 点击这里加入此群

GMT+8, 2012-2-8 09:24 , Processed in 0.068601 second(s), 16 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部