在所需的分钟数后更新列

时间:2012-06-23 19:07:39

标签: mysql intervals

我想每20分钟更新一次,但它不会像我一样工作。我用这个SQL:

UPDATE visitors SET
is_online = '0'
WHERE is_online = '1'
AND DATE_ADD(date_lastactive, INTERVAL 20 MINUTE) < NOW()

数据库如下所示:

CREATE TABLE IF NOT EXISTS `visitors` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `ipaddress` text NOT NULL,
  `page` text NOT NULL,
  `page_get` text NOT NULL,
  `date_visited` datetime NOT NULL,
  `date_lastactive` datetime NOT NULL,
  `date_revisited` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`)
)

我尝试将<更改为>,但每次使用该箭头刷新后都会更新。

如何解决问题?

提前致谢。

2 个答案:

答案 0 :(得分:3)

如果您需要在网站访问者和页面加载时每20分钟独立运行一次此查询,则必须使用系统调度程序:Unix上的cron和Windows上的任务计划程序。 只需编写一个简单的shell脚本。

答案 1 :(得分:0)

你不能让sql查询每20分钟重复一次。没有mysql语句的组合。