== Syntax: ==
<<code>>
CREATE
[DEFINER = { user | CURRENT_USER }]
EVENT
[IF NOT EXISTS]
event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE | DISABLE ON SLAVE]
[COMMENT 'comment']
DO sql_statement;
schedule:
AT timestamp [+ INTERVAL interval] ...
| EVERY interval
[STARTS timestamp [+ INTERVAL interval] ...]
[ENDS timestamp [+ INTERVAL interval] ...]
interval:
quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
<</code>>
== Description: ==
This statement creates and schedules a new event. It requires the
EVENT privilege for the schema in which the event is to be created.
The minimum requirements for a valid CREATE EVENT statement are as
follows:
* The keywords ##CREATE EVENT## plus an event name, which uniquely identifies
the event in the current schema. (Prior to MySQL 5.1.12, the event name
needed to be unique only among events created by the same user on a given
database.)
* An ##ON SCHEDULE## clause, which determines when and how often the event
executes.
* A ##DO## clause, which contains the SQL statement to be executed by an
event.
Here is an example of a minimal ##CREATE EVENT## statement:
<<sql>>
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
UPDATE myschema.mytable SET mycol = mycol + 1;
<</sql>>
The previous statement creates an event named myevent. This event executes once
<<entity>>mdash<</entity>> one hour following its creation
<<entity>>mdash<</entity>> by running an SQL statement that increments the
value of the myschema.mytable table's mycol column by 1.
The event_name must be a valid MySQL identifier with a maximum length
of 64 characters. It may be delimited using back ticks, and may be
qualified with the name of a database schema. An event is associated
with both a MySQL user (the definer) and a schema, and its name must
be unique among names of events within that schema. In general, the
rules governing event names are the same as those for names of stored
routines. See http://dev.mysql.com/doc/refman/5.1/en/identifiers.html.
If no schema is indicated as part of event_name, the default (current)
schema is assumed.
Events are ##ENABLE##d by default. If you want to stop MariaDB from executing
an event, you may specify ##DISABLE##. When it is ready to be activated, you
may enable it using ##[[alter-event|ALTER EVENT]]##. Another option is
##DISABLE ON SLAVE##, which prevents slave servers from executing the event.
The ##COMMENT## clause may be used to set a comment for the event. Maximum
length for comments is 64 characters. The comment is a string, so it must be
quoted. To see events comments, you can query the ##EVENTS## table in the
##INFORMATION_SCHEMA## (the column is named ##EVENT_COMMENT##).