创建好事件后,用户可以通过以下 3 种方式来查看事件的状态信息:
以上方式的运行结果基本一致,这里就不一一演示了。下面查看 information_schema.events 表中的事件状态信息。SQL 语句和运行结果如下:
mysql> SELECT * FROM information_schema.events limit 1\G *************************** 1. row *************************** EVENT_CATALOG: def EVENT_SCHEMA: test EVENT_NAME: e_test DEFINER: root@localhost TIME_ZONE: SYSTEM EVENT_BODY: SQL EVENT_DEFINITION: INSERT INTO tb_eventtest(user,createtime)VALUES('MySQL',NOW()) EVENT_TYPE: RECURRING EXECUTE_AT: NULL INTERVAL_VALUE: 5 INTERVAL_FIELD: SECOND 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: 2020-05-21 10:41:39 ENDS: NULL STATUS: ENABLED ON_COMPLETION: PRESERVE CREATED: 2020-05-21 10:41:39 LAST_ALTERED: 2020-05-21 10:41:39 LAST_EXECUTED: 2020-05-21 12:38:54 EVENT_COMMENT: ORIGINATOR: 1 CHARACTER_SET_CLIENT: gbk COLLATION_CONNECTION: gbk_chinese_ci DATABASE_COLLATION: utf8_unicode_ci 1 row in set (0.08 sec)
以上参数说明如下表所示:
参数名 | 说明 |
---|---|
EVENT_CATALOG | 事件存放目录,一般情况下,值为 def,不建议修改 |
EVENT_SCHEMA | 事件所在的数据库 |
EVENT_NAME | 事件名称 |
DEFINER | 事件的定义者 |
TIME_ZONE | 事件使用的时区,默认是 SYSTEM,不建议修改 |
EVENT_BODY | 一般情况下,值为 SQL,不建议修改 |
EVENT_DEFINITION | 该事件的内容,可以是具体的 INSERT 等 SQL,也可以是一个调用的存储过程 |
EVENT_TYPE | 事件类型,这个参数比较重要,在定义时指定有两个值:RECURRING 和 ONE TIMERECURRING 表示只要符合条件就会重复执行,RECURRING 类型的事件一般为 NULL,表示该事件的预计执行时间ONE TIME 只会调用 EXECUTE_AT,针对 one-time 类型的事件有效 |
INTERVAL_VALUE | 针对 RECURRING 类型的事件有效,表示执行间隔长度 |
INTERVAL_FIELD | 针对 RECURRING 类型的事件有效,表示执行间隔的单位,一般是 SECOND,DAY 等值,可参考创建语法 |
SQL_MODE | 当前事件采用的 SQL_MODE |
STARTS | 针对 RECURRING 类型的事件有效,表示一个事件从哪个时间点开始执行,和 one-time 的 EXECUTE_AT 功能类似。为 NULL 时表示一符合条件就开始执行 |
ENDS | 针对 RECURRING 类型的事件有效,表示一个事件到了哪个时间点后不再执行,如果为 NULL 就是永不停止 |
STATUS | 一般有三个值,ENABLED、DISABLED 和 SLAVESIDE_DISABLED |
ON_COMPLETION | 只有两个值,PRESERVE 和 NOT PRESERVE |
CREATED | 事件的创建时间 |
LAST_ALTERED | 事件最近一次被修改的时间 |
LAST_EXECUTED | 事件最近一次执行的时间,如果为 NULL 表示从未执行过 |
EVENT_COMMENT | 事件的注释信息 |
ORIGINATOR | 当前事件创建时的 server-id,用于主从上的处理,比如 SLAVESIDE_DISABLED |
CHARACTER_SET_CLIENT | 事件创建时的客户端字符集 |
COLLATION_CONNECTION | 事件创建时的连接字符校验规则 |
DATABASE_COLLATION | 事件创建时的数据库字符集校验规则 |