반응형
dummy_data 에 테스트할 dummy데이터 삽입
INSERT INTO dummy_data(name, createdAt, limitedAt) VALUES("Del01", NOW(), DATE_ADD(NOW(),INTERVAL + 1 MINUTE));
dummy_data 테이블 데이터 가져오기
SELECT * FROM dummy_data;
dummy_data 테이블 데이터 삭제
DELETE FROM dummy_data;
dummy_data 테이블 안에서 limitedAt(Date타입)이 현재 시간에서 1초 뺀 시간 보다 작은 데이터만 가져오기
SELECT * FROM dummy_data WHERE limitedAt < DATE_ADD(NOW(), INTERVAL -1 SECOND);
프로시저 생성
DELIMITER $$
CREATE PROCEDURE autoDel()
BEGIN
DELETE FROM dummy_data WHERE limitedAt < DATE_ADD(NOW(), INTERVAL -1 SECOND);
END $$
DELIMITER ;
이벤트 스케줄러 생성
CREATE EVENT autoDelEvent
ON SCHEDULE
EVERY 1 MINUTE // 1분마다 체크
STARTS NOW() // 시작 시간 설정
DO
CALL autoDel(); // autoDel 프로시저 호출
현재 이벤트 유무와 이벤트 상세 정보 확인
SELECT * FROM information_schema.events;
SHOW VARIABLES LIKE 'event%'; // 이벤트 찾기
SET GLOBAL event_scheduler = ON; // 이벤트 스케줄러 활성화
SET @@global.event_scheduler = ON; // 이벤트 스케줄러 활성화
SHOW VARIABLES LIKE 'event%'; // 이벤트 찾기
SET GLOBAL event_scheduler = ON; // 이벤트 스케줄러 활성화
SET @@global.event_scheduler = ON; // 이벤트 스케줄러 활성화
반응형
LIST
'웹개발일지 > Database' 카테고리의 다른 글
MYSQL DELIMITER / PROCEDURE / EVENT SCHEDULE (0) | 2020.08.24 |
---|
댓글