Mysql 计划任务不存在';跑不动 创建事件`set\u trips\u完成` 每1天按计划开始“2015-08-25 01:50:00” 竣工保护区 一定要开始 更新行程 设置状态=0 其中日期(创建时间)

Mysql 计划任务不存在';跑不动 创建事件`set\u trips\u完成` 每1天按计划开始“2015-08-25 01:50:00” 竣工保护区 一定要开始 更新行程 设置状态=0 其中日期(创建时间),mysql,scheduled-tasks,Mysql,Scheduled Tasks,是计划的任务。但是字段不会得到更新。当我只运行查询时,字段会得到很好的更新 我有另一个计划任务,语法非常相同,只是计划在5分钟后运行,运行正常 我不明白为什么这个任务不能运行,或者查询是否没有更新表。。。有什么建议吗 更新 我删除了另一个计划任务(正在工作的任务),并再次设置了这两个任务,现在两个任务都没有激发…查看事件计划程序是否正在运行: CREATE EVENT `set_trips_finished` ON SCHEDULE EVERY 1 DAY STARTS '2015-08-2

是计划的任务。但是字段不会得到更新。当我只运行查询时,字段会得到很好的更新

我有另一个计划任务,语法非常相同,只是计划在5分钟后运行,运行正常

我不明白为什么这个任务不能运行,或者查询是否没有更新表。。。有什么建议吗

更新


我删除了另一个计划任务(正在工作的任务),并再次设置了这两个任务,现在两个任务都没有激发…

查看事件计划程序是否正在运行:

CREATE EVENT `set_trips_finished`
  ON SCHEDULE EVERY 1 DAY STARTS '2015-08-25 01:50:00'
  ON COMPLETION PRESERVE
DO BEGIN

  UPDATE trips
  SET status = 0
  WHERE date(created_at) < curdate();

END;

创建我的测试表:

show variables where variable_name='event_scheduler';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | OFF   |
+-----------------+-------+
创建我的活动:

create table trips
(   id int auto_increment primary key,
    status int not null,
    created_at date not null
);
insert trips(status,created_at) values (0,'2014-09-09');
我可以等一整天,活动还没开始

select * from trips;
+----+--------+------------+
| id | status | created_at |
+----+--------+------------+
|  1 |      0 | 2014-09-09 |
+----+--------+------------+
等待几分钟(注意我的事件每分钟运行一次)

事件已运行3次。好的,看起来不错

select * from trips;
+----+--------+------------+
| id | status | created_at |
+----+--------+------------+
|  1 |      3 | 2014-09-09 |
+----+--------+------------+

你的服务器时间是多少?这对我来说是未来的事。这只是一个样本时间。我的服务器时间是GMT+2。但我尝试了几次(只是测试)在服务器时间的前几分钟安排它,但它没有运行。您是否设置了另一个分隔符,如
delimiter$
?不,我安排的两个事件中都没有dilimiter。我需要它吗?
select * from trips;
+----+--------+------------+
| id | status | created_at |
+----+--------+------------+
|  1 |      0 | 2014-09-09 |
+----+--------+------------+
SET GLOBAL event_scheduler = ON;    -- turn her on

show variables where variable_name='event_scheduler';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | ON    |
+-----------------+-------+
select * from trips;
+----+--------+------------+
| id | status | created_at |
+----+--------+------------+
|  1 |      3 | 2014-09-09 |
+----+--------+------------+
SET GLOBAL event_scheduler = OFF;   -- turn her off if so desired