根据时间自动更新数据库中的列的方法

时间:2013-11-03 04:41:55

标签: php mysql database

是否有任何方法或脚本允许每天午夜12自动更新我的数据库中的列。例如,我有一个列'x',当前在'x'列下的某一行中的值是10,我是什么当时钟到达00:00:00时,想要将该值重新初始化为0.有什么办法可以做到这一点吗? 我的数据库详细信息:phpmyadmin中的mysql。 我知道的脚本:javascripts或php。

3 个答案:

答案 0 :(得分:5)

您可以使用MySQL的事件调度程序

CREATE EVENT update_status ON SCHEDULE EVERY 1 DAY STARTS '2013-11-02 00:00:00' DO
  UPDATE your_table
  SET    x = 0

为了使事件调度程序运行,您可以在my.cnf中添加它:

[mysqld]
...
event_scheduler=ON

阅读本文以获取更多信息http://dev.mysql.com/doc/refman/5.1/en/create-event.html

答案 1 :(得分:1)

您真的需要查看 CRON 工作。这个CRON Job每隔午夜就会运行一次。

0 0 * * * php /var/www/yourscript.php

<强> yourscript.php

<?php
//... make conn to db

//make use of query something like this

mysqli_query("UPDATE yourtable SET yourcolumn = 0");

答案 2 :(得分:0)

CREATE EVENT event_scheduler_x
ON SCHEDULE EVERY 1 DAY
STARTS '2013-11-04 00:00:00'
DO UPDATE tbl
SET x = 0;