Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
EPUB - 7.5Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  INFORMATION_SCHEMA テーブル  /  INFORMATION_SCHEMA EVENTS テーブル

21.7 INFORMATION_SCHEMA EVENTS テーブル

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: ENABLEDDISABLEDSLAVESIDE_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@ghidorae_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 構文」も参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.