Spec-Zone.ru › MySQL 8.4

28.3.14 Таблица INFORMATION_SCHEMA EVENTS

Таблица EVENTS предоставляет информацию о событиях Event Manager, которые обсуждаются в разделе 27.4, «Использование планировщика событий».

Таблица EVENTS содержит следующие столбцы:

  • EVENT_CATALOG

    Имя каталога, к которому относится событие. Это значение всегда def.

  • EVENT_SCHEMA

    Имя схемы (базы данных), к которой относится событие.

  • EVENT_NAME

    Имя события.

  • DEFINER

    Имя пользователя, указанного в разделе DEFINER (часто пользователя, создавшего событие), в формате 'user_name'@'host_name'.

  • TIME_ZONE

    Временная зона события, которая используется для планирования события и действует в течение выполнения события. Значение по умолчанию - SYSTEM.

  • EVENT_BODY

    Язык, используемый для операторов в разделе DO события. Значение всегда равно SQL.

  • EVENT_DEFINITION

    Текст SQL-оператора, составляющего раздел DO события; другими словами, оператор, выполняемый этим событием.

  • EVENT_TYPE

    Тип повторения события, либо ONE TIME (транзиентное) либо RECURRING (повторяющееся).

  • EXECUTE_AT

    Для одноразового события это значение DATETIME, указанное в разделе AT оператора CREATE EVENT, используемого для создания события, или последнего оператора ALTER EVENT, который изменил событие. Показанное в этом столбце значение отражает добавление или вычитание любого значения INTERVAL, включенного в раздел AT события. Например, если событие создается с помощью ON SCHEDULE AT CURRENT_TIMESTAMP + '1:6' DAY_HOUR, а событие было создано в 2018-02-09 14:05:30, значение в этом столбце будет '2018-02-10 20:05:30'. Если время события определяется разделом EVERY вместо раздела AT (то есть если событие повторяющееся), значение этого столбца равно NULL.

  • INTERVAL_VALUE

    Для повторяющегося события — количество интервалов ожидания между выполнениями события. Для транзиентного события значение всегда равно NULL.

  • INTERVAL_FIELD

    Единицы времени, используемые для интервала, в который повторяющееся событие ожидает повторения. Для транзиентного события значение всегда равно NULL.

  • SQL_MODE

    SQL-режим, действующий при создании или изменении события и при выполнении события. Допустимые значения см. в разделе 7.1.11, «SQL-режимы сервера».

  • STARTS

    Дата и время начала повторяющегося события. Это отображается как значение DATETIME и равно NULL, если для события не определены дата и время начала. Для транзиентного события этот столбец всегда NULL. Для повторяющегося события, чье определение включает раздел STARTS, этот столбец содержит соответствующее значение DATETIME. Как и в столбце EXECUTE_AT, это значение решает любые используемые выражения. Если нет раздела STARTS, влияющего на время события, этот столбец имеет значение NULL.

  • ENDS

    Для повторяющегося события, чье определение включает раздел ENDS, этот столбец содержит соответствующее значение DATETIME. Как и в столбце EXECUTE_AT, это значение решает любые используемые выражения. Если нет раздела ENDS, влияющего на время события, этот столбец имеет значение NULL.

  • STATUS

    Статус события. Одно из значений ENABLED, DISABLED или REPLICA_SIDE_DISABLED (до MySQL 8.2.0 это было SLAVESIDE_DISABLED, теперь устаревшее). REPLICA_SIDE_DISABLED указывает, что создание события произошло на другом сервере MySQL, работающем в качестве источника репликации, и было реплицировано на текущий сервер MySQL, работающий в качестве реплики, но событие в настоящее время не выполняется на реплике. Более подробная информация содержится в разделе 19.5.1.16, «Репликация вызываемых функций».

  • ON_COMPLETION

    Одно из двух значений PRESERVE или NOT PRESERVE.

  • CREATED

    Дата и время создания события. Это значение TIMESTAMP.

  • LAST_ALTERED

    Дата и время последнего изменения события. Это значение TIMESTAMP. Если событие не изменялось с момента создания, это значение совпадает со значением столбца CREATED.

  • LAST_EXECUTED

    Дата и время последнего выполнения события. Это значение DATETIME. Если событие никогда не выполнялось, этот столбец имеет значение NULL.

    LAST_EXECUTED указывает, когда началось событие. В результате столбец ENDS никогда не меньше LAST_EXECUTED.

  • EVENT_COMMENT

    Текст комментария, если он есть у события. В противном случае это пустое значение.

  • ORIGINATOR

    Идентификатор сервера MySQL, на котором было создано событие; используется при репликации. Это значение может быть обновлено оператором ALTER EVENT до идентификатора сервера сервера, на котором этот оператор выполняется, если он выполняется на источнике репликации. Значение по умолчанию равно 0.

  • CHARACTER_SET_CLIENT

    Значение сессии системной переменной character_set_client при создании события.

  • COLLATION_CONNECTION

    Значение сессии системной переменной collation_connection при создании события.

  • DATABASE_COLLATION

    Сортировка базы данных, к которой относится событие.

Примечания

  • EVENTS — нестандартная таблица INFORMATION_SCHEMA.

  • Временные метки в таблице EVENTS отображаются с использованием временной зоны события, текущей временной зоны сессии или UTC, как описано в разделе 27.4.4, «Метаданные событий».

  • Более подробная информация о REPLICA_SIDE_DISABLED и столбце ORIGINATOR содержится в разделе 19.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. См. раздел 15.7.7.19, «Оператор 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']

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/information-schema-events-table.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API