#11 Events & Triggers

#11.0 Introduction

Event - database가 해야 할 작업들의 스케줄링 가능

ex) 특정 조건의 row를 특정 요일에 삭제

Trigger - database에서 일어나는 일에 반응 가능

ex) 특정 row 삭제시 삭제에 대한 로그 table 생성

#11.1 Events

CREATE TABLE archived_movies LIKE movies;
-- table 구조 복사

DROP TABLE archived_movies;
TRUNCATE TABLE archived_movies; -- table 모든 내용 삭제

DELIMITER $$ -- 다른 DELIMITER 사용
CREATE EVENT archive_old_movies
ON SCHEDULE EVERY 2 MINUTE
STARTS CURRENT_TIMESTAMP + INTERVAL 2 MINUTE
DO -- 1개는 DO만 사용
BEGIN 
	INSERT INTO archived_movies
  SELECT * FROM movies
  WHERE release_date < YEAR(CURDATE()) - 20;
  
  DELETE FROM movies WHERE release_date < YEAR((CURDATE()) - 20;
END$$
DELIMITER ;

DROP EVENT archive_old_movies;

#11.2 Recap

https://chatgpt.com/share/d5844020-c1d8-46d9-a363-879f3421750farrow-up-right

show events;

show create event ~~~;

#11.3 Triggers

#11.4 Overpowered Trigger

Last updated