EVENTS
テーブルは、セクション20.4「イベントスケジューラの使用」で説明しているスケジュール設定済みのイベントに関する情報を提供します。SHOW Name
値は、SHOW EVENTS
ステートメントのカラム名に対応します。
INFORMATION_SCHEMA 名 |
SHOW 名 |
備考 |
---|---|---|
EVENT_CATALOG |
def 、MySQL 拡張 |
|
EVENT_SCHEMA |
Db |
MySQL 拡張 |
EVENT_NAME |
Name |
MySQL 拡張 |
DEFINER |
Definer |
MySQL 拡張 |
TIME_ZONE |
Time zone |
MySQL 拡張 |
EVENT_BODY |
MySQL 拡張 | |
EVENT_DEFINITION |
MySQL 拡張 | |
EVENT_TYPE |
Type |
MySQL 拡張 |
EXECUTE_AT |
Execute at |
MySQL 拡張 |
INTERVAL_VALUE |
Interval value |
MySQL 拡張 |
INTERVAL_FIELD |
Interval field |
MySQL 拡張 |
SQL_MODE |
MySQL 拡張 | |
STARTS |
Starts |
MySQL 拡張 |
ENDS |
Ends |
MySQL 拡張 |
STATUS |
Status |
MySQL 拡張 |
ON_COMPLETION |
MySQL 拡張 | |
CREATED |
MySQL 拡張 | |
LAST_ALTERED |
MySQL 拡張 | |
LAST_EXECUTED |
MySQL 拡張 | |
EVENT_COMMENT |
MySQL 拡張 | |
ORIGINATOR |
Originator |
MySQL 拡張 |
CHARACTER_SET_CLIENT |
character_set_client |
MySQL 拡張 |
COLLATION_CONNECTION |
collation_connection |
MySQL 拡張 |
DATABASE_COLLATION |
Database Collation |
MySQL 拡張 |
注:
EVENTS
テーブルは、非標準テーブルです。EVENT_CATALOG
: このカラムの値は常にdef
です。EVENT_SCHEMA
: このイベントが属しているスキーマ (データベース) の名前です。EVENT_NAME
: イベントの名前です。DEFINER
:'
形式で示した、イベントを作成したユーザーのアカウントです。user_name
'@'host_name
'TIME_ZONE
: イベントタイムゾーンです。これはイベントをスケジュール設定するために使用され、実行するときにイベント内で有効なタイムゾーンです。デフォルト値はSYSTEM
です。-
EVENT_BODY
: イベントのDO
句に使用される言語です。MySQL 5.6 ではこれは常にSQL
です。このカラムは、以前の MySQL バージョンに存在していたものと同じ名前 (現在は
EVENT_DEFINITION
という名前) のカラムと混同しないでください。 EVENT_DEFINITION
: イベントのDO
句を構成する SQL ステートメントのテキストです。つまり、このイベントで実行されたステートメントです。EVENT_TYPE
: イベントの繰り返しタイプであり、ONE TIME
(一時的) またはRECURRING
(繰り返し) のどちらかになります。-
EXECUTE_AT
: 一度だけのイベントの場合、これはイベントの作成に使用されたCREATE EVENT
ステートメント、またはイベントを変更した最後のALTER EVENT
ステートメントのAT
句で指定されたDATETIME
値です。このカラムに表示された値は、イベントのAT
句に含まれた、INTERVAL
値の加算または減算に影響します。たとえば、イベントがON SCHEDULE AT CURRENT_TIMESTAMP + '1:6' DAY_HOUR
を使用して作成され、イベントが 2006-02-09 の 14:05:30 に作成された場合、カラムに表示される値は'2006-02-10 20:05:30'
になります。イベントのタイミングが
AT
句ではなくEVERY
句で決定される場合 (つまり、イベントが繰り返しである場合)、このカラムの値はNULL
になります。 -
INTERVAL_VALUE
: 繰り返しイベントの場合、このカラムにはイベントEVERY
句の数値部分が含まれます。一度だけのイベント (
AT
句によってタイミングが決定されるイベント) の場合、このカラムはNULL
になります。 -
INTERVAL_FIELD
: 繰り返しイベントの場合、このカラムは、イベントのタイミングを制御するEVERY
句の単位部分が含まれます。したがって、このカラムには、「YEAR」
、「QUARTER」
、「DAY」
などの値が含まれます。一度だけのイベント (
AT
句によってタイミングが決定されるイベント) の場合、このカラムはNULL
になります。 SQL_MODE
: イベントが作成または変更されたときに有効であり、イベントが実行したときの SQL モードです。指定可能な値については、セクション5.1.7「サーバー SQL モード」を参照してください。-
STARTS
: 定義にSTARTS
句を含む繰り返しイベントでは、このカラムには対応するDATETIME
値が含まれます。EXECUTE_AT
カラムの場合と同様に、この値は使用されている式を解きます。イベントのタイミングに影響する
STARTS
句がない場合、このカラムはNULL
です -
ENDS
: 定義にENDS
句を含む繰り返しイベントでは、このカラムには対応するDATETIME
値が含まれます。EXECUTE_AT
カラムの場合と同様に、この値は使用されている式を解きます。イベントのタイミングに影響する
ENDS
句がない場合、このカラムはNULL
です。 -
STATUS
:ENABLED
、DISABLED
、SLAVESIDE_DISABLED
の 3 つの値のいずれかになります。SLAVESIDE_DISABLED
は、イベントの作成が、レプリケーションマスターとして機能している別の MySQL サーバーで行われ、スレーブとして機能している現在の MySQL サーバーに複製されたが、イベントは現時点でスレーブ上で実行されていないことを示します。詳細は、セクション17.4.1.11「呼び出される機能のレプリケーション」を参照してください。 ON_COMPLETION
:PRESERVE
またはNOT PRESERVE
の 2 つの値のどちらかになります。CREATED
: イベントが作成された日時です。これはTIMESTAMP
値です。LAST_ALTERED
: イベントが最後に変更された日時です。これはTIMESTAMP
値です。イベントが作成されてから変更されなかった場合、このカラムにはCREATED
カラムと同じ値が保持されます。-
LAST_EXECUTED
: イベントが最後に実行された日時です。DATETIME
値。イベントが一度も実行されていない場合、このカラムはNULL
です。LAST_EXECUTED
はイベントが開始した時点を示します。このため、ENDS
カラムがLAST_EXECUTED
より小さくなることは決してありません。 EVENT_COMMENT
: イベントにコメントがある場合のコメントのテキストです。ない場合は、このカラムの値は空の文字列になります。ORIGINATOR
: このイベントが作成された MySQL サーバーのサーバー ID で、レプリケーションで使用されます。デフォルト値は 0 です。CHARACTER_SET_CLIENT
: イベントが作成されたときのcharacter_set_client
システム変数のセッション値です。COLLATION_CONNECTION
: イベントが作成されたときのcollation_connection
システム変数のセッション値です。DATABASE_COLLATION
: イベントが関連付けられているデータベースの照合順序です。
例: 次に示すように、ユーザー 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
ENABLED;
(コメントは複数の行にわたって記述できます。)
このユーザーは続いて次の SELECT
ステートメントを実行し、次の出力が表示されます。
mysql> SELECT * FROM INFORMATION_SCHEMA.EVENTS
> WHERE EVENT_NAME = 'e_daily'
> AND EVENT_SCHEMA = 'myschema'\G
*************************** 1. row ***************************
EVENT_CATALOG: def
EVENT_SCHEMA: test
EVENT_NAME: e_daily
DEFINER: me@localhost
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:
STARTS: 2008-09-03 12:13:39
ENDS: NULL
STATUS: ENABLED
ON_COMPLETION: NOT PRESERVE
CREATED: 2008-09-03 12:13:39
LAST_ALTERED: 2008-09-03 12:13:39
LAST_EXECUTED: NULL
EVENT_COMMENT: Saves total number of sessions then clears the
table each day
ORIGINATOR: 1
CHARACTER_SET_CLIENT: latin1
COLLATION_CONNECTION: latin1_swedish_ci
DATABASE_COLLATION: latin1_swedish_ci
セクション20.4.4「イベントメタデータ」で説明しているように、EVENTS
テーブル内の時間は、イベントタイムゾーンまたは現在のセッションタイムゾーンを使用して表示されます。
セクション13.7.5.19「SHOW EVENTS 構文」も参照してください。