CHange sql表值的时间

时间:2014-12-18 16:27:41

标签: php mysql cron

我有一张带有时间栏的表格。

CREATE TABLE `mbusGuestCodeExpires` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `hashOfUser` int(11) NOT NULL,
  `expiresTime` time DEFAULT NULL,
  `active` int(1) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `hashOfUser` (`hashOfUser`),
  UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 PACK_KEYS=0;

并且输入具有此字段的值且用户可以更改它,其中$expireTime是表格中的时间,$timeDiffHour$timeDiffMinute是表格中剩余的时间。

    echo        "<div class='expires'>Expires:<input type='text' class='expiresTime' value='{$expireTime}'/></div><div class='left'>";
            if (($timeDiffHour>=0) && ($timeDiffMinute>0))
             {
                echo"Left:".$timeDiffHour."h. ".$timeDiffMinute." min.";
             }
            echo"</div>";

我现在需要在$expireTime时间将活动字段更改为0。执行此操作的最佳方法是什么,除了每分钟运行一次cron脚本检查所有列并检查其值是否较少当前时间?

1 个答案:

答案 0 :(得分:1)

怎么样:

select ... where expiresTime < curtime()

文件编号:http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_curtime