我有一张带有时间栏的表格。
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脚本检查所有列并检查其值是否较少当前时间?
答案 0 :(得分:1)
怎么样:
select ... where expiresTime < curtime()
文件编号:http://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_curtime