我的机器上安装了Win XP操作系统和XAMPP。
我需要在每个月的第一天凌晨00:00:00执行我的事件/日程安排程序。 意味着每个月的第1天。 (例如,1月1日,2月1日,3月1日,......)。
和 我还需要在同一事件中调用存储过程。 而且我希望只使用Event / Job来实现所有这些,而不是从前端。
请花几分钟时间查询。
答案 0 :(得分:17)
MySQL事件语法非常简单 -
DELIMITER $$
CREATE EVENT event1
ON SCHEDULE EVERY '1' MONTH
STARTS '2011-05-01 00:00:00'
DO
BEGIN
-- your code
END$$
DELIMITER ;
活动将于'00:00:00'开始工作'2011-05-01'(日期时间必须在将来)。
更多信息 - Using the Event Scheduler
不要忘记启用全局事件调度线程 -
SET GLOBAL event_scheduler = 1;
答案 1 :(得分:0)
假设您的mysql数据库存在于Web服务器上,您可以设置一个在每个月的第一天运行的cron作业。您的服务器可能提供了一些Web界面来执行此操作。
如果您无法从服务器本身启动cron作业,那么可以使用免费的Web服务来设置在给定时间调用服务器上脚本的cron作业。
cron作业调用的脚本可以是运行查询的简单php脚本。
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
mysql_query(' /* insert query here */ ');
mysql_close($link);
您可能希望包含一些错误检查,并向自己发送有关成功/失败的电子邮件,或在日志文件中保留一些消息。这样,您可以监视脚本是否完全运行和/或成功运行。