[MySQL] 이벤트 생성 - 이벤트 스케쥴러(Event Scheduler)

Tech/Database 2023. 3. 11. 22:13
728x90
728x90

학원 내 모의 프로젝트 중에서 간단하게 이벤트를 생성 해 통계 테이블에 자정마다 날짜를 입력 해 줬던 적이 있다.

사용했던 경험이 있기 때문에 내 것으로 만들어보고자 포스팅을 하게 되었다.

 

 

이벤트 생성


아래의 코드는 프로젝트 내 통계 테이블 중 방문자 테이블의 첫 insert를 위해 사용했다.

(해당 날짜 방문자는 00:00:00으로 초기화 되어있는 해당 일자 테이블에 방문횟수가 +1되는 구조였다)

create event visitDaily
on schedule every 1 hour
starts now()
--comment 주석
do
insert into VISIT(VISIT_DATE, NUMBER)
select date_format(now(), "%Y%m%d"), 0
  from dual
 where not exists(select VISIT_DATE from VISIT where VISIT_DATE = date_format(now(), "%Y%m%d"));
create event 이벤트이름
on schdule every 주기(month,week,day,hour,month,등등)
starts 시간
comment 이벤트주석
do 아래 실행시킬 내용

 

 

여러 구문


MySQL 내 이벤트 스케쥴러 사용 가능 여부 확인

SHOW VARIABLES LIKE 'event%';

 

사용 가능여부를 아래의 구문으로 변경 가능하다.

SET GLOBAL event_scheduler = ON;

 

생성되어 있는 이벤트 스케쥴러 확인

SELECT * FROM information_schema.events;

 

이벤트 삭제

DROP EVENT IF EXIST 이벤트명;

 

 

참조

https://velog.io/@kaitlin_k/MySQL-scheduled-event-%EB%A7%8C%EB%93%A4%EA%B8%B0
728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

방명록