728x90
Mysql Trigger
테이블에서 어떤 이벤트가 발생했을 때 자동으로 실행되는 것을 말한다
사용법
- 변경 전 또는 변경 후의 행은 OLD, NEW라는 가상 줄 변수를 사용하여 읽을 수 있다
- old - 예전 데이터 즉, delete 로 삭제 된 데이터 또는 update 로 바뀌기 전의 데이터
- new - 새 데이터 즉, insert 로 삽입된 데이터 또는 update 로 바뀐 후의 데이터
-- Trigger 리스트 출력
SHOW TRIGGERS;
-- Trigger 삭제
DROP trigger trigger_test;
-- Trigger 생성
DELIMITER $$ -- 구분선과 같은것
CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE| DELETE }
ON table_name FOR EACH ROW
BEGIN
-- 트리거 내용
END
DELIMITER ;
예제
DELIMITER $$
CREATE TRIGGER trigger_test
AFTER UPDATE
ON test_table FOR EACH ROW
BEGIN
IF NEW.PARENT = 'TEST' THEN
INSERT INTO other_table (CREATED_AT, UPDATED_AT, NAME)
VALUES( NOW(), NOW(), NEW.parent);
END IF;
END;
$$
DELIMITER ;
출처: https://inpa.tistory.com/entry/MYSQL-📚-트리거 [Inpa Dev 👨💻:티스토리]
728x90
'DB' 카테고리의 다른 글
Mysql Procedure (0) | 2024.02.03 |
---|---|
Index Hint (0) | 2024.01.20 |
Redis 기본 명령어 (0) | 2023.08.18 |
DB 테스트 용 데이터 대량 만들기_TIP (0) | 2023.08.03 |
데드락 (0) | 2023.07.05 |