• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 1. 데이터 정의 문
    1. ALTER DATABASE 구문
    2. ALTER EVENT 구문
    3. ALTER LOGFILE GROUP 구문
    4. ALTER FUNCTION 구문
    5. ALTER PROCEDURE 구문
    6. ALTER SERVER 구문
    7. ALTER TABLE 구문
    8. ALTER TABLESPACE 구문
    9. ALTER VIEW 구문
    10. REATE DATABASE 구문
    11. CREATE EVENT 구문
    12. CREATE FUNCTION 구문
    13. CREATE INDEX 구문
    14. CREATE LOGFILE GROUP 구문
    15. CREATE PROCEDURE 및 CREATE FUNCTION 구문
    16. CREATE SERVER 구문
    17. CREATE TABLE 구문
    18. CREATE TABLESPACE 구문
    19. CREATE TRIGGER 구문
    20. CREATE VIEW 구문
    21. DROP DATABASE 구문
    22. DROP EVENT 구문
    23. DROP FUNCTION 구문
    24. DROP INDEX 구문
    25. DROP LOGFILE GROUP 구문
    26. DROP PROCEDURE 및 DROP FUNCTION 구문
    27. DROP SERVER 구문
    28. DROP TABLE 구문
    29. DROP TABLESPACE 구문
    30. DROP TRIGGER 구문
    31. DROP VIEW 구문
    32. RENAME TABLE 구문
    33. TRUNCATE TABLE 구문
    2. 데이터 조작 문
    3. MySQL 트랜잭션과 잠금 문
    4. 복제 문
    5. Prepared Statements위한 SQL 구문
    6. MySQL 복합문 구문
    7. 데이터베이스 관리 문
    8. MySQL 유틸리티 문
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

13.1.2 ALTER EVENT 구문

ALTER
    [DEFINER = { user | CURRENT_USER }]
    EVENT event_name
    [ON SCHEDULE schedule]
    [ON COMPLETION [NOT] PRESERVE]
    [RENAME TO new_event_name]
    [ENABLE | DISABLE | DISABLE ON SLAVE]
    [COMMENT 'comment']
    [DO event_body]

ALTER EVENT 문은 기존의 이벤트의 하나 이상의 특성을 해당 이벤트를 삭제하고 다시 작성하지 않고 변경할 수 있습니다. DEFINER , ON SCHEDULE , ON COMPLETION , COMMENT , ENABLE / DISABLE , DO 의 각 조항의 구문은 CREATE EVENT 로 사용되는 경우와 동일합니다. ( 섹션 13.1.11 "CREATE EVENT 구문" 을 참조하십시오.)

모든 사용자는 사용자가 EVENT 권한이있는 데이터베이스에 정의 된 이벤트를 변경할 수 있습니다. 사용자가 정상적인 ALTER EVENT 문을 실행하면 사용자는 영향을받는 이벤트의 정의가되고 있습니다.

ALTER EVENT 는 기존의 이벤트에서만 작동합니다.

 mysql> ALTER EVENT no_such_event
      > ON SCHEDULE
      > EVERY '2:3' DAY_HOUR;
 ERROR 1517 (HY000) : Unknown event 'no_such_event'

다음 각 예제는 myevent 라는 이벤트가 다음과 같이 정의되는 것을 전제로하고 있습니다.

 CREATE EVENT myevent
     ON SCHEDULE
       EVERY 6 HOUR
     COMMENT 'A sample comment.'
     DO
       UPDATE myschema.mytable SET mycol = mycol + 1;

다음 문은 myevent 일정을 즉시 시작하고 6 시간마다 1 회에서 명령문이 실행 된 4 시간 후부터 시작하여 12 시간마다 1 회로 변경합니다.

 ALTER EVENT myevent
     ON SCHEDULE
       EVERY 12 HOUR
     STARTS CURRENT_TIMESTAMP + INTERVAL 4 HOUR;

이벤트의 여러 특성을 하나의 문으로 변경할 수 있습니다. 이 예에서는 myevent 에 의해 실행되는 SQL 문을 mytable 의 모든 레코드를 삭제하는 SQL 문으로 변경합니다. 또한 행사 일정도이 ALTER EVENT 문이 실행 된 1 일 이후에 한 번 실행되도록 변경합니다.

 ALTER EVENT myevent
     ON SCHEDULE
       AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
     DO
       TRUNCATE TABLE myschema.mytable;

ALTER EVENT 문은 변경하려는 특성의 옵션 만 지정합니다. 생략 된 옵션으로는 기존의 값이 유지됩니다. 여기에는 ENABLE 같은 CREATE EVENT 의 기본값이 모두 포함되어 있습니다.

myevent 을 해제하려면이 ALTER EVENT 문을 사용합니다.

 ALTER EVENT myevent
     DISABLE;

ON SCHEDULE 절에서는 내장 MySQL 함수 및 사용자 변수를 포함하는 식을 사용하여 거기에 포함되어있는 모든 timestamp 또는 interval 값을 얻을 수 있습니다. 이런 식으로 스토어드 루틴 및 사용자 정의 함수를 사용하거나 테이블 참조를 사용 할 수 없습니다. 그러나 SELECT FROM DUAL 사용할 수 있습니다. 이것은 ALTER EVENT 문과 CREATE EVENT 문에 모두 적용됩니다. 이러한 경우 스토어드 루틴, 사용자 정의 함수 및 테이블에 대한 참조는 명시 적으로 금지되어 있으며 오류와 함​​께 실패합니다 (Bug # 22830를 참조하십시오).

DO 절에 다른 ALTER EVENT 문을 포함하는 ALTER EVENT 문은 성공한 것처럼 보이지만, 결과 예약 된 이벤트를 서버가 실행하려고하면 실행 오류로 실패합니다.

이벤트의 이름을 변경하려면 ALTER EVENT 문 RENAME TO 절을 사용합니다. 이 문은 이벤트 myevent 의 이름을 yourevent 로 변경합니다.

 ALTER EVENT myevent
     RENAME TO yourevent;

다음과 같이 ALTER EVENT ... RENAME TO ... 와 db_name.event_name 표기법을 사용하여 이벤트를 다른 데이터베이스로 이동할 수 있습니다.

 ALTER EVENT olddb.myevent
     RENAME TO newdb.myevent;

이전 문을 실행하려면 그것을 실행하는 사용자가 olddb 및 newdb 데이터베이스 모두에 대한 EVENT 권한을 가지고 있어야합니다.

참고

RENAME EVENT 문은 없습니다.

값 DISABLE ON SLAVE 는 마스터에서 만들어진 슬레이브에 복제되었지만 아직 슬레이브에서 실행되지 않는 이벤트를 나타 내기 위해 ENABLE 또는 DISABLE 대신 리플리케이션에 사용됩니다. 일반적으로 DISABLE ON SLAVE 는 필요에 따라 자동으로 설정됩니다. 그러나 수동으로 변경해야 할 수도 있습니다. 자세한 내용은 섹션 17.4.1.11 "호출되는 기능의 복제" 를 참조하십시오.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved