10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 36.3 mb
PDF (A4)- 36.3 mb
手册页(TGZ)- 235.6 kb
手册页(Zip)- 347.1 kb
信息(Gzip)- 3.3 mb
信息(邮政编码)- 3.3 mb
本手册节选

24.3.8 INFORMATION_SCHEMA事件表

事件中讨论的事件管理器事件的信息第23.4节,“使用事件调度器”

事件表有这些列:

  • EVENT_CATALOG

    事件所属的目录的名称。这个值总是def

  • EVENT_SCHEMA

    事件所属的模式(数据库)的名称。

  • EVENT_NAME

    事件的名称。

  • 定义者

    中指定的帐户定义者子句(通常是创建事件的用户),在user_name“@”host_name格式。

  • TIME_ZONE

    事件时区,这是用于调度事件的时区,该时区在事件执行时生效。默认值为系统

  • EVENT_BODY

    事件中语句使用的语言条款。值总是SQL

  • EVENT_DEFINITION

    组成事件的SQL语句的文本条款;换句话说,此事件执行的语句。

  • EVENT_TYPE

    事件重复类型一次(瞬态)或反复出现的(重复)。

  • EXECUTE_AT

    对于一次性事件,这是DATETIME中指定的值。的条款创建事件用于创建事件或最后一个事件的语句改变事件修改事件的语句。这一列显示的值反映了任何的加减法时间间隔事件中包含的值条款。例如,如果使用按时间表在current_timestamp + '1:6' day_hour,且事件创建时间为2018-02-09 14:05:30,则此列中显示的值为“2018-02-10 20:05:30”.如果事件的时间由每一个子句而不是子句(即,如果事件重复发生),则此列的值为

  • INTERVAL_VALUE

    对于循环事件,在事件执行之间等待的间隔数。对于瞬态事件,该值为always

  • INTERVAL_FIELD

    重复事件在重复发生之前等待的时间间隔单位。对于瞬态事件,该值为always

  • SQL_MODE

    创建或更改事件时有效的SQL模式,以及在该模式下执行事件。有关允许的值,请参见章节5.1.10,“Server SQL模式”

  • 开始

    重复事件的开始日期和时间。显示为DATETIME值,并且是如果没有为事件定义开始日期和时间。对于暂时事件,这一列总是.的定义中包含的重复事件开始子句,此列包含相应的DATETIME价值。就像EXECUTE_AT列中,此值解析使用的任何表达式。如果没有开始子句影响事件的时间,此列为

  • 结束

    的定义中包含的重复事件结束子句,此列包含相应的DATETIME价值。就像EXECUTE_AT列中,此值解析使用的任何表达式。如果没有结束子句影响事件的时间,此列为

  • 状态

    事件状态。之一启用禁用,或SLAVESIDE_DISABLEDSLAVESIDE_DISABLED表示事件的创建发生在另一个作为复制源的MySQL服务器上,并复制到当前作为副本的MySQL服务器上,但该事件目前没有在副本上执行。有关更多信息,请参见16.4.1.16节“被调用特性的复制”.信息。

  • ON_COMPLETION

    两个值中的一个保存不保存

  • 创建

    创建事件的日期和时间。这是一个时间戳价值。

  • LAST_ALTERED

    事件最后一次修改的日期和时间。这是一个时间戳价值。如果事件自创建以来未被修改,则此值与创建价值。

  • LAST_EXECUTED

    事件上次执行的日期和时间。这是一个DATETIME价值。如果事件从未执行,则此列为

    LAST_EXECUTED事件开始的时间。结果,结束列永不少于LAST_EXECUTED

  • EVENT_COMMENT

    注释的文本,如果事件有注释的话。如果不是,则该值为空。

  • 发起者

    创建事件的MySQL服务器的服务器ID;用于复制。此值可由改变事件到发生该语句的服务器的服务器ID(如果在复制源上执行)。缺省值为0。

  • CHARACTER_SET_CLIENT

    对象的会话值character_set_client事件创建时的系统变量。

  • COLLATION_CONNECTION

    对象的会话值collation_connection事件创建时的系统变量。

  • DATABASE_COLLATION

    与事件关联的数据库的排序规则。

笔记

例子

假设用户“乔”@“ghidora”创建一个名为e_daily,然后在几分钟后使用改变事件语句,如下所示:

分隔符|创建事件e_daily ON SCHEDULE每1天注释'保存会话总数,然后每天清空表' DO BEGIN INSERT INTO site_activity。total (time, total) SELECT CURRENT_TIMESTAMP, COUNT(*) FROM site_activity.sessions删除site_activity.sessions;结束|分隔符;ALTER EVENT e_daily ENABLE;

(注意注释可以跨越多行。)

然后,该用户可以运行以下操作选择语句,并获得如下所示的输出:

mysql> SELECT * FROM INFORMATION_SCHEMA事件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_AUTO_CREATE_USER,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: utf8 COLLATION_CONNECTION: utf8_general_ci DATABASE_COLLATION: latin1_swedish_ci

事件信息也可从显示事件声明。看到第13.7.5.18节,“SHOW EVENTS语句”.以下语句是等价的:

从information_schema中选择event_schema, event_name, definer, time_zone, event_type, execute_at, interval_value, interval_field,开始,结束,状态,发起者,character_set_client, collation_connection, database_collation。WHERE table_schema = 'db_name[AND column_name LIKE]野生'] show events[来自db_name[象,象]野生']