Event Scheduler

✒️ 2025-05-28 17:32 내용 수정


특정 이벤트를 정해진 시간 혹은 주기마다 실행하도록 설정한 것

SET GLOBAL event_scheduler = ON;
CREATE EVENT `이벤트이름` 
ON 
	SCHEDULE schedule
DO 
	SQL문;
-- schedule
AT timestamp [ + INTERVAL interval] ...
| EVERY INTERVAL
	[STARTS timestamp [ + INTERVAL interval] ...]
	[ENDS timestamp [ + INTERVAL interval] ...]

-- interval
YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE
| DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND
-- 이벤트 전체 조회 
SHOW EVENTS;
-- 이벤트 수정(ALTER 사용) 
ALTER EVENT `event_name` 
ON 
	SCHEDULE EVERY 30 MINUTE 
DO 
	SQL문;
-- 이벤트 삭제 
DROP EVENT `event_name`;

적용 예시

CREATE EVENT `event_name`
ON SCHEDULE
	EVERY 30 MINUTE
DO
	DELETE FROM verification WHERE date_expired < CURRENT_TIMESTAMP(3);