The EVENTS table provides information about
scheduled events, which are discussed in Chapter 24, Event Scheduler.
INFORMATION_SCHEMA
Name |
SHOW Name |
Remarks |
EVENT_CATALOG |
NULL, MySQL extension |
|
EVENT_SCHEMA |
Db |
MySQL extension |
EVENT_NAME |
Name |
MySQL extension |
DEFINER |
Definer |
MySQL extension |
TIME_ZONE |
Time zone |
MySQL extension |
EVENT_BODY |
MySQL extension | |
EVENT_DEFINITION |
MySQL extension | |
EVENT_TYPE |
Type |
MySQL extension |
EXECUTE_AT |
Execute at |
MySQL extension |
INTERVAL_VALUE |
Interval value |
MySQL extension |
INTERVAL_FIELD |
Interval field |
MySQL extension |
SQL_MODE |
MySQL extension | |
STARTS |
Starts |
MySQL extension |
ENDS |
Ends |
MySQL extension |
STATUS |
Status |
MySQL extension |
ON_COMPLETION |
MySQL extension | |
CREATED |
MySQL extension | |
LAST_ALTERED |
MySQL extension | |
LAST_EXECUTED |
MySQL extension | |
EVENT_COMMENT |
MySQL extension | |
ORIGINATOR |
Originator | MySQL extension |
CHARACTER_SET_CLIENT |
MySQL extension | |
COLLATION_CONNECTION |
MySQL extension | |
DATABASE_COLLATION |
MySQL extension |
Notes:
The EVENTS table is a non-standard table.
EVENT_CATALOG: The value of this column is
always NULL.
EVENT_SCHEMA: The name of the schema
(database) to which this event belongs.
EVENT_NAME: The name of the event.
DEFINER: The user who created the event.
Always displayed in
'
format.
user_name'@'host_name'
TIME_ZONE: The time zone in effect when
schedule for the event was last modified. If the event's
schedule has not been modified since the event was created,
then this is the time zone that was in effect at the event's
creation. The default value is SYSTEM.
EVENT_BODY: The language used for the
statements in the event's DO clause; in
MySQL 6.0, this is always SQL.
This column is not to be confused with the column of the same
name (now named EVENT_DEFINITION) that
existed in earlier MySQL versions.
EVENT_DEFINITION: The text of the SQL
statement making up the event's DO clause;
in other words, the statement executed by this event.
EVENT_TYPE: One of the two values
ONE TIME or RECURRING.
EXECUTE_AT: For a one-time event, this is
the DATETIME value specified in the
AT clause of the CREATE
EVENT statement used to create the event, or of the
last ALTER EVENT statement that modified
the event. The value shown in this column reflects the
addition or subtraction of any INTERVAL
value included in the event's AT clause.
For example, if an event is created using ON SCHEDULE
AT CURRENT_TIMESTAMP + '1:6' DAY_HOUR, and the event
was created at 2006-02-09 14:05:30, the value shown in this
column would be '2006-02-10 20:05:30'.
If the event's timing is determined by an
EVERY clause instead of an
AT clause (that is, if the event is
recurring), the value of this column is
NULL.
INTERVAL_VALUE: For recurring events, this
column contains the numeric portion of the event's
EVERY clause.
For a one-time event (that is, an event whose timing is
determined by an AT clause), this column's
value is NULL.
INTERVAL_FIELD: For recurring events, this
column contains the units portion of the
EVERY clause governing the timing of the
event, prefixed with 'INTERVAL_'. Thus,
this column contains a value such as
'INTERVAL_YEAR',
'INTERVAL_QUARTER',
'INTERVAL_DAY', and so on.
For a one-time event (that is, an event whose timing is
determined by an AT clause), this column's
value is NULL.
SQL_MODE: The SQL mode in effect at the
time the event was created or altered.
STARTS: For a recurring event whose
definition includes a STARTS clause, this
column contains the corresponding DATETIME
value. As with the EXECUTE_AT column, this
value resolves any expressions used.
If there is no STARTS clause affecting the
timing of the event, this column is empty.
ENDS: For a recurring event whose
definition includes a ENDS clause, this
column contains the corresponding DATETIME
value. As with the EXECUTE_AT column (see
previous example), this value resolves any expressions used.
If there is no ENDS clause affecting the
timing of the event, this column contains
NULL.
STATUS: One of the three values
ENABLED, DISABLED, or
SLAVESIDE_DISABLED.
SLAVESIDE_DISABLED indicates that the
creation of the event occurred on another MySQL server acting
as a replication master and was replicated to the current
MySQL server which is acting as a slave, but the event is not
presently being executed on the slave. See
Section 19.3.1.5, “Replication of Invoked Features”, for more
information.
ON_COMPLETION: One of the two values
PRESERVE or NOT
PRESERVE.
CREATED: The date and time when the event
was created. This is a DATETIME value.
LAST_ALTERED: The date and time when the
event was last modified. This is a DATETIME
value. If the event has not been modified since its creation,
this column holds the same value as the
CREATED column.
LAST_EXECUTED: The date and time when the
event last executed. A DATETIME value. If
the event has never executed, this column's value is
NULL.
Before MySQL 6.0.5, LAST_EXECUTED indicates
when event finished executing. As of 6.0.5,
LAST_EXECUTED instead indicates when the
event started. As a result, the ENDS column
is never less than LAST_EXECUTED.
EVENT_COMMENT: The text of a comment, if
the event has one. If there is no comment, the value of this
column is an empty string.
ORIGINATOR: The server ID of the MySQL
server on which the event was created; used in replication.
The default value is 0.
CHARACTER_SET_CLIENT is the session value
of the character_set_client system variable
when the event was created.
COLLATION_CONNECTION is the session value
of the collation_connection system variable
when the event was created.
DATABASE_COLLATION is the collation of the
database with which the event is associated.
Example: Suppose the user
jon@ghidora creates an event named
e_daily, and then modifies it a few minutes
later using an ALTER EVENT statement, as shown
here:
DELIMITER |
CREATE EVENT e_daily
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 6 HOUR
DISABLE
COMMENT 'Saves total number of sessions and
clears the table once per day.'
DO
BEGIN
INSERT INTO site_activity.totals (when, total)
SELECT CURRENT_TIMESTAMP, COUNT(*)
FROM site_activity.sessions;
DELETE FROM site_activity.sessions;
END |
DELIMITER ;
ALTER EVENT e_daily
ENABLED;
(Note that comments can span multiple lines.)
This user can then run the following SELECT
statement, and obtain the output shown:
mysql>SELECT * FROM INFORMATION_SCHEMA.EVENTS>WHERE EVENT_NAME = 'e_daily'>AND EVENT_SCHEMA = 'myschema'\G*************************** 1. row *************************** EVENT_CATALOG: NULL EVENT_SCHEMA: myschema EVENT_NAME: e_daily DEFINER: jon@ghidora EVENT_BODY: BEGIN INSERT INTO site_activity.totals (when, total) SELECT CURRENT_TIMESTAMP, COUNT(*) FROM site_activity.sessions; DELETE FROM site_activity.sessions; END EVENT_TYPE: RECURRING EXECUTE_AT: NULL INTERVAL_VALUE: 1 INTERVAL_FIELD: INTERVAL_DAY SQL_MODE: NULL STARTS: 2006-02-09 10:41:23 ENDS: NULL STATUS: ENABLED ON_COMPLETION: DROP CREATED: 2006-02-09 14:35:35 LAST_ALTERED: 2006-02-09 14:41:23 LAST_EXECUTED: NULL EVENT_COMMENT: Saves total number of sessions and clears the table once per day. ORIGINATOR: 0 1 row in set (0.50 sec)
These times are all given in terms of local time as determined by
the MySQL server's time_zone setting. (The same
is true of the starts, ends,
and last_executed columns of the
mysql.event table as well as the
Starts and Ends columns in
the output of SHOW [FULL] EVENTS.)
The CREATED and LAST_ALTERED
columns use the server time zone (as do the
created and last_altered
columns of the mysql.event table).
See also Section 12.5.6.16, “SHOW EVENTS”.

User Comments
Add your own comment.