21.7 INFORMATION_SCHEMA EVENTS Table
EVENTS
테이블은 섹션 20.4 "이벤트 스케줄러 사용" 에서 설명하고있는 예약 된 이벤트에 대한 정보를 제공합니다. SHOW Name
값은 SHOW EVENTS
문 열 이름에 해당합니다.
INFORMATION_SCHEMA Name | SHOW Name | Remarks |
---|---|---|
EVENT_CATALOG | | def , MySQL extension |
EVENT_SCHEMA | Db | MySQL extension |
EVENT_NAME | Name | MySQL extension |
DEFINER | Definer | MySQL extension |
TIME_ZONE | Time zone | MySQL extension |
EVENT_BODY | | MySQL extension |
EVENT_DEFINITION | | MySQL extension |
EVENT_TYPE | Type | MySQL extension |
EXECUTE_AT | Execute at | MySQL extension |
INTERVAL_VALUE | Interval value | MySQL extension |
INTERVAL_FIELD | Interval field | MySQL extension |
SQL_MODE | | MySQL extension |
STARTS | Starts | MySQL extension |
ENDS | Ends | MySQL extension |
STATUS | Status | MySQL extension |
ON_COMPLETION | | MySQL extension |
CREATED | | MySQL extension |
LAST_ALTERED | | MySQL extension |
LAST_EXECUTED | | MySQL extension |
EVENT_COMMENT | | MySQL extension |
ORIGINATOR | Originator | MySQL extension |
CHARACTER_SET_CLIENT | character_set_client | MySQL extension |
COLLATION_CONNECTION | collation_connection | MySQL extension |
DATABASE_COLLATION | Database Collation | MySQL extension |
참고 :
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
:ENABLED
,DISABLED
,SLAVESIDE_DISABLED
의 3 개의 값 중 하나입니다.SLAVESIDE_DISABLED
이벤트 만들기가 복제 마스터로 작동하는 다른 MySQL 서버로 진행되며 슬레이브로 작동하는 현재의 MySQL 서버에 복제되었지만 이벤트는 현재 슬레이브에서 실행되지 않은 수를 나타냅니다. 자세한 내용은 섹션 17.4.1.11 "호출되는 기능의 복제" 를 참조하십시오.ON_COMPLETION
:PRESERVE
또는NOT PRESERVE
두 값 중 하나입니다.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
: 이벤트가 연결된 데이터베이스의 데이터 정렬입니다.
Example : 다음과 같이 사용자 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 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 구문" 을 참조하십시오.