mysql 定时任务,每周日18点执行一次,这样写对吗?高手有空的话看看好吗

真的要断了过去 2013-07-14 12:08:08

use wlm212;
CREATE EVENT Myevent
ON SCHEDULE EVERY 7 WEEK
STARTS '2013-07-10 18:00:00' ENDS '2035-01-10 00:00:00'
DO
INSERT INTO
ziyuan_fenlei (ziyuanfenlei_name)
VALUES ('新类')


每周日18点,执行一次插入记录。我感觉有哪里不对,高手指点一下吗?mysql玩的不怎么好。

...全文
1068 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

SELECT
	DATE_ADD(
		DATE_ADD(
			DATE_SUB(
				CURDATE(),
				INTERVAL DAY (CURDATE()) - 7 DAY
			),
			INTERVAL 1 WEEK
		),
		INTERVAL 1430 minute
	)
  • 打赏
  • 举报
回复
ENDS有必要加吗?
  • 打赏
  • 举报
回复

SELECT
	DATE_ADD(
		DATE_ADD(
			DATE_SUB(
				CURDATE(),
				INTERVAL DAY (CURDATE()) - 7 DAY
			),
			INTERVAL 1 WEEK
		),
		INTERVAL 1 HOUR
	)
STARTS =上面的,好像是计算出每星期日,1点整,执行。如果是23:45分,这个怎么写呢。 ENDS有比较加吗?
ACMAIN_CHM 2013-07-14
  • 打赏
  • 举报
回复
没什么不对啊,楼主遇到的问题是什么? http://blog.csdn.net/acmain_chm/article/details/7703870 定时执行mysql数据库任务方案 命题: 每日 02:00 am 定时删除 表 t (id int primary key,ptime TIMESTAMP DEFAULT CURRENT_TIMESTAMP) 中三天以前的记录。 ======================================= 方法一:操作系统 ======================================= (...
rucypli 2013-07-14
  • 打赏
  • 举报
回复
create event Myevents ON SCHEDULE EVERY 7 DAY starts '2012-07-14 23:45:00' ON COMPLETION PRESERVE do INSERT INTO ziyuan_fenlei (ziyuanfenlei_name) VALUES ('新类');
  • 打赏
  • 举报
回复
实在不行,我只能用windows的计划任务弄了。让他执行一个php脚本。bat的写法还不会用。那个c什么的工具只能在luix下使用。我的服务器是windows的
  • 打赏
  • 举报
回复
引用 9 楼 ACMAIN_CHM 的回复:
直接每七天的 23:45运行不就行了? ENDS可以不加,这个你可以亲自试一下就知道,不需要问别人。另外MYSQL的官方免费手册中有详细语法介绍。
这个要统计本周销售额的。如果每7天运行一次,计算的结果可能不对。如果我的系统是正好赶在星期一上线,那可能就对上了。如果我赶在星期三上线。那在本周计算的统计信息会有偏差。
ACMAIN_CHM 2013-07-14
  • 打赏
  • 举报
回复
直接每七天的 23:45运行不就行了? ENDS可以不加,这个你可以亲自试一下就知道,不需要问别人。另外MYSQL的官方免费手册中有详细语法介绍。
  • 打赏
  • 举报
回复
求教育,求指点。
  • 打赏
  • 举报
回复
汗。 少个“STARTS
  • 打赏
  • 举报
回复
我就是想,每周日,23点50分,执行一下我的一个任务。这个时间计算,挺麻烦的。不知道我这样写对不对。 这是我一点点抠出来的,最终完整的写法。

use wlm212;
CREATE EVENT Myevent 
ON SCHEDULE EVERY 7 WEEK 
	DATE_ADD(
		DATE_ADD(
			DATE_SUB(
				CURDATE(),
				INTERVAL DAY (CURDATE()) - 7 DAY
			),
			INTERVAL 1 WEEK
		),
		INTERVAL 1430 minute
	)
DO
	INSERT INTO ziyuan_fenlei (ziyuanfenlei_name)
VALUES
	('新类')
INTERVAL 1430 minute ,这里不会算了,直接用分,手动算上去的。 到底对不对呢。
rucypli 2013-07-14
  • 打赏
  • 举报
回复
我习惯写到crontab里面 0 18 * * 7 mysql -e "insert xxxx"

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧