DELIMITER $$
CREATE TRIGGER 트리거이름
BEFORE UPDATE ON 테이블이름
FOR EACH ROW
BEGIN
IF (NEW.AA <> OLD.AA) THEN
SET new.BB = new.AA;
END IF ;
END$$
;
위의 쿼리는 트리거의 한 예제이다.
이 쿼리는 특정 테이블에 UPDATE가 발생 할 때 AA 의 값이 이전값과 이후값이 다를 경우에
BB 컬럼에 값을 새로운 AA의 값으로 치환하라는 트리거이다.
녹색 : AFTER, BEFORE
붉은색 : INSERT, UPDATE, DELETE
푸른색 : 쿼리(INSERT, UPDATE, DELETE 등)
NEW : 새로운 값
OLD : 이전 값
AFTER 를 사용할 때 같은 테이블에 INSERT, UPDATE, DELETE를 하게된다면 문제가 발생할 수 있다.
[원문] http://wofmaker.blog.me/220116117593