1、定义:包括一个有效的SQL语句,这可以是一个简单的语句,如SELECT或INSERT,或一个用BEGIN和END写的复合语句。复合语句可以包含声明循环和其它控制结构语句。
2、定义者:指定当在事件运行时检查访问权限要使用的用户帐号。默认定义者值是运行CREATEEVENT语句的的用户。(和DEFINER=CURRENT_USER相同。)如果给予一个用户值,它应该是一个'user_name'@'host_name'格式的MySQL帐号(使用与GRANT语句相同的格式)。user_name及host_name值都是必须的。状态:可以创建一个事件但可以用DISABLE关键字保持不激活。或者可以用ENABLE默认状态,这是激活。ONCOMPLETION:正常情况下,一旦事件已过期,它将立即删除。可以通过指定ONCOMPLETIONPRESERVE来重写此性能。ONCOMPLETIONNOTPRESERVE只是使默认非持久性的性能明确。
3、计划:AT:包含日期和时间,或必须是一个解析为datetime值的表达式。使用+INTERVAL来创建一个事件,它发生在与当前日期和时间有关的将来某个时刻。EVERY:在定期间隔重复的行动,可以在EVERY子句之后加interval。(+INTERVAL与EVERY不能同时使用。)STARTS:EVERY子句还可能包含一个非必须的STARTS子句。STARTS之后的timestamp值表示行动应该何时开始重复,也可以用+INTERVAL间隔指定「由现在开始」的时间量。例如:EVERY3MONTHSTARTSCURRENT_TIMESTAMP+1WEEK的意思是「每3个月,从现在起一周后开始」。
4、ENDS:EVERY子句还可包含一个非必须的苇质缵爨ENDS子句。ENDS关键字之后的timestamp值告诉MySQL何时停止重复事件。也可以用+朐袁噙岿INTERVAL间隔与ENDS一起。例如:EVERY12HOURSTARTSCURRENT_TIMESTAMP+INTERVAL30MINUTEENDSCURRENT_TIMESTAMP+INTERVAL4WEEK相当于「每十二个小时,从现在起三十分钟后开始,并于现在起四个星期后结束」。备注:timestamp是必须发生在未来不能安排在过去的一个事件。interval区间由两部份组成,数量和时间单位。*YEAR|QUARTER|MONTH|DAY|HOUR|MINUTE|WEEK|SECOND|YEAR_MONTH|DAY_HOUR|DAY_MINUTE|DAY_SECOND|HOUR_MINUTE|HOUR_SECOND|MINUTE_SECOND