任务开关开启mysql> show variables like '%event%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| event_scheduler | ON |
+-----------------+-------+
1 row in set (0.00 sec)mysql>--任务脚本如下:
drop event if exists e_Set;
CREATE EVENT e_Set
ON SCHEDULE EVERY 1 day STARTS '2010-11-15 23:59:59' DO
begin
INSERT INTO EVENT_1 VALUES(NOW());
end;
然后SHOW EVENTS也能够看到这个任务。我把机器时间调整到2011-03-03 23:59:50 ,等待20秒,确保任务执行完成,再查EVENT_1表,里面没有写入记录。网络上讲计划任务的,基本上都是用SECOND来说明,每秒写入一条记录,我测试也是成功的,但是我想每天执行一次,却失败了。这个计划任务的作用是想用来做刷新日志,还有一些统计类的计算,用BAT文件已经可以做到,觉得维护起来不方便,数据迁移的时候还得去维护BAT文件,放到EVENT里,一个DUMP就全部搞定。大家帮我看看啥原因。
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| event_scheduler | ON |
+-----------------+-------+
1 row in set (0.00 sec)mysql>--任务脚本如下:
drop event if exists e_Set;
CREATE EVENT e_Set
ON SCHEDULE EVERY 1 day STARTS '2010-11-15 23:59:59' DO
begin
INSERT INTO EVENT_1 VALUES(NOW());
end;
然后SHOW EVENTS也能够看到这个任务。我把机器时间调整到2011-03-03 23:59:50 ,等待20秒,确保任务执行完成,再查EVENT_1表,里面没有写入记录。网络上讲计划任务的,基本上都是用SECOND来说明,每秒写入一条记录,我测试也是成功的,但是我想每天执行一次,却失败了。这个计划任务的作用是想用来做刷新日志,还有一些统计类的计算,用BAT文件已经可以做到,觉得维护起来不方便,数据迁移的时候还得去维护BAT文件,放到EVENT里,一个DUMP就全部搞定。大家帮我看看啥原因。
解决方案 »
- 【修改datetime字段值报错】如果把datetime字段修改成大于2039-01-08则报错,小于它则OK,请各位大师帮忙分析一下,谢谢!
- mysql中的my.ini文件,复制出一个my.ini文件后就无法启动mysqld服务
- mysql的读取性能
- 关于存储过程问题
- ACMAIN_CHM 请进。昨天的一个贴子。
- MySQL的版本比较,大家都再使用那个版本
- mysql的显示格式
- MySQLDriverCS的一个问题(解决马上给分)。
- 100-300百万用户数据量,选用mySql如何?
- 帮我写一下这个联合多表查询(4张表),困绕我多日的难题,谁来解救我?
- Mysql分区执行计划疑惑
- 请教一个查询SQL的写法,谢谢
CREATE EVENT e_Set
ON SCHEDULE EVERY 1 day STARTS '2010-11-15 23:59:59' DO
begin
INSERT INTO EVENT_1 VALUES(NOW());
end; 没有看到你所说的一天执行一次的计划的标示。
CREATE EVENT e_Set
ON SCHEDULE EVERY 86400 SECOND STARTS '2010-11-15 00:00:00' DO
begin
INSERT INTO EVENT_1 VALUES(NOW());
end; 用上面的,你再试试看啊!
EVERY 1 day 这里是任务的调度频度。
CREATE EVENT e_Set
ON SCHEDULE EVERY 1 day STARTS '2010-11-15 00:00:00' DO
begin
INSERT INTO EVENT_1 VALUES(NOW());
end;
是不是忘记开启时间了啊: ALTER EVENT e_Set ON COMPLETION PRESERVE ENABLE;执行上面这句再看看有了吗?
电脑时间别调整了。。也许读的不是电脑时间。。
------天,很可能不是从0:01开始算,而是从任务开始日期+1天-1秒算第一天,等1天吧,绝对好用的~~