このページは機械翻訳したものです。
EVENTS テーブルには、セクション25.4「イベントスケジューラの使用」 で説明されているイベントマネージャイベントに関する情報が表示されます。
EVENTS テーブルには、次のカラムがあります:
-
EVENT_CATALOGイベントが属するカタログの名前。 この値は常に
defです。 -
EVENT_SCHEMAイベントが属するスキーマ (データベース) の名前。
-
EVENT_NAMEイベントの名前。
-
DEFINER'形式の、user_name'@'host_name'DEFINER句で指定されたアカウント (多くの場合、イベントを作成したユーザー)。 -
TIME_ZONEイベントのタイムゾーン。イベントのスケジュールに使用され、イベントの実行時にイベント内で有効なタイムゾーンです。 デフォルト値は
SYSTEMです。 -
EVENT_BODYイベント
DO句のステートメントに使用される言語。 値は常にSQLです。 -
EVENT_DEFINITIONイベント
DO句を構成する SQL ステートメントのテキスト。つまり、このイベントによって実行されるステートメント。 -
EVENT_TYPEイベントの繰返しタイプ。
ONE TIME(一時) またはRECURRING(繰返し)。 -
EXECUTE_ATワンタイムイベントの場合、これは、イベントの作成に使用される
CREATE EVENTステートメントのAT句、またはイベントを変更した最後のALTER EVENTステートメントで指定されたDATETIME値です。 このカラムに表示された値は、イベントのAT句に含まれた、INTERVAL値の加算または減算に影響します。 たとえば、イベントがON SCHEDULE AT CURRENT_TIMESTAMP + '1:6' DAY_HOURを使用して作成され、イベントが 2018-02-09 の 14:05:30 に作成された場合、カラムに表示される値は'2018-02-10 20:05:30'になります。 イベントのタイミングがAT句ではなくEVERY句で決定される場合 (つまり、イベントが繰り返しである場合)、このカラムの値はNULLになります。 -
INTERVAL_VALUE繰返しイベントの場合、イベント実行間で待機する間隔の数。 一時イベントの場合、値は常に
NULLです。 -
INTERVAL_FIELD繰返しイベントが繰り返される前に待機する間隔に使用される時間単位。 一時イベントの場合、値は常に
NULLです。 -
SQL_MODEイベントが作成または変更され、イベントが実行されるときに有効な SQL モード。 指定可能な値については、セクション5.1.11「サーバー SQL モード」を参照してください。
-
STARTS繰返しイベントの開始日時。 これは
DATETIME値として表示され、このイベントの開始日付と開始時間が定義されていない場合はNULLです。 一時的なイベントの場合、このカラムは常にNULLです。 定義にSTARTS句が含まれる繰返しイベントの場合、このカラムには対応するDATETIME値が含まれます。EXECUTE_ATカラムの場合と同様に、この値は使用されている式を解きます。 イベントのタイミングに影響するSTARTS句がない場合、このカラムはNULLです -
ENDS定義に
ENDS句が含まれる繰返しイベントの場合、このカラムには対応するDATETIME値が含まれます。EXECUTE_ATカラムの場合と同様に、この値は使用されている式を解きます。 イベントのタイミングに影響するENDS句がない場合、このカラムはNULLです。 -
STATUSイベントステータス。
ENABLED、DISABLED、SLAVESIDE_DISABLEDのいずれか。SLAVESIDE_DISABLEDは、イベントの作成が、レプリケーションソースとして機能する別の MySQL サーバーで発生し、レプリカとして機能している現在の MySQL サーバーにレプリケートされたが、そのイベントがレプリカで現在実行されていないことを示します。 詳細は、セクション17.5.1.16「呼び出される機能のレプリケーション」 の情報を参照してください。 -
ON_COMPLETIONPRESERVEまたはNOT PRESERVEのいずれかの値。 -
CREATEDイベントが作成された日時。 これは
TIMESTAMP値です。 -
LAST_ALTEREDイベントが最後に変更された日時。 これは
TIMESTAMP値です。 イベントが作成されてから変更されていない場合、この値はCREATEDの値と同じです。 -
LAST_EXECUTEDイベントが最後に実行された日時。 これは
DATETIME値です。 イベントが一度も実行されていない場合、このカラムはNULLです。LAST_EXECUTEDはイベントが開始した時点を示します。 このため、ENDSカラムがLAST_EXECUTEDより小さくなることは決してありません。 -
EVENT_COMMENTコメントのテキスト (イベントにコメントがある場合)。 そうでない場合、この値は空です。
-
ORIGINATORイベントが作成された MySQL サーバーのサーバー ID。レプリケーションで使用されます。 この値は、レプリケーションソースで実行された場合、
ALTER EVENTによって、そのステートメントが発生したサーバーのサーバー ID に更新されることがあります。 デフォルト値は 0 です。 -
CHARACTER_SET_CLIENTイベント作成時の
character_set_clientシステム変数のセッション値。 -
COLLATION_CONNECTIONイベント作成時の
collation_connectionシステム変数のセッション値。 -
DATABASE_COLLATIONイベントが関連付けられているデータベースの照合。
メモ
EVENTSは非標準のINFORMATION_SCHEMAテーブルです。EVENTSテーブルの時間は、セクション25.4.4「イベントメタデータ」 で説明されているように、イベントタイムゾーン、現行セッションタイムゾーンまたは UTC を使用して表示されます。SLAVESIDE_DISABLEDおよびORIGINATORカラムの詳細は、セクション17.5.1.16「呼び出される機能のレプリケーション」 を参照してください。
例
次に示すように、ユーザー'jon'@'ghidora'が e_daily という名前のイベントを作成し、ALTER EVENT ステートメントを使用して数分後に変更するとします:
DELIMITER |
CREATE EVENT e_daily
ON SCHEDULE
EVERY 1 DAY
COMMENT 'Saves total number of sessions then clears the table each day'
DO
BEGIN
INSERT INTO site_activity.totals (time, total)
SELECT CURRENT_TIMESTAMP, COUNT(*)
FROM site_activity.sessions;
DELETE FROM site_activity.sessions;
END |
DELIMITER ;
ALTER EVENT e_daily
ENABLE;
(コメントは複数の行にわたって記述できます。)
このユーザーは続いて次の SELECT ステートメントを実行し、次の出力が表示されます。
mysql> SELECT * FROM INFORMATION_SCHEMA.EVENTS
WHERE EVENT_NAME = 'e_daily'
AND EVENT_SCHEMA = 'myschema'\G
*************************** 1. row ***************************
EVENT_CATALOG: def
EVENT_SCHEMA: myschema
EVENT_NAME: e_daily
DEFINER: jon@ghidora
TIME_ZONE: SYSTEM
EVENT_BODY: SQL
EVENT_DEFINITION: BEGIN
INSERT INTO site_activity.totals (time, 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: DAY
SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION
STARTS: 2018-08-08 11:06:34
ENDS: NULL
STATUS: ENABLED
ON_COMPLETION: NOT PRESERVE
CREATED: 2018-08-08 11:06:34
LAST_ALTERED: 2018-08-08 11:06:34
LAST_EXECUTED: 2018-08-08 16:06:34
EVENT_COMMENT: Saves total number of sessions then clears the
table each day
ORIGINATOR: 1
CHARACTER_SET_CLIENT: utf8mb4
COLLATION_CONNECTION: utf8mb4_0900_ai_ci
DATABASE_COLLATION: utf8mb4_0900_ai_ci
イベント情報は、SHOW EVENTS ステートメントからも入手できます。 セクション13.7.7.18「SHOW EVENTS ステートメント」を参照してください。 次のステートメントは同等です。
SELECT
EVENT_SCHEMA, EVENT_NAME, DEFINER, TIME_ZONE, EVENT_TYPE, EXECUTE_AT,
INTERVAL_VALUE, INTERVAL_FIELD, STARTS, ENDS, STATUS, ORIGINATOR,
CHARACTER_SET_CLIENT, COLLATION_CONNECTION, DATABASE_COLLATION
FROM INFORMATION_SCHEMA.EVENTS
WHERE table_schema = 'db_name'
[AND column_name LIKE 'wild']
SHOW EVENTS
[FROM db_name]
[LIKE 'wild']