Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
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
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.