mysql 트리거를 만들어보자 - 삭제시 자동 insert
특정 테이블에서 데이타를 삭제하면 삭제한 데이타를 새로운 테이블에 인서트 시키는 트리거를 만들어보자...
트리거 작업할 테이블 이름이 tb1 이라고 한다면
create table trigger_tb1 like tb1;
위 명령어로 tb1 과 똑같은 테이블을 만든다.
그리고 mysql에 접속해서 mysql 콘솔상태에서 다음 명령어를 내린다...
mysql> DELIMITER //
mysql> CREATE TRIGGER tr1 BEFORE DELETE ON tb1 FOR EACH ROW
-> BEGIN
-> INSERT INTO trigger_tb1 VALUES(OLD.num, OLD.site_name, OLD.mult);
-> END
-> //
두번째 줄까지는 콘솔이고 그 뒤로는 완료되지 않는 쿼리처럼 화면에 나온다. 거기에 입력하면된다...
delete 명령어가 발생하면 아래 insert 쿼리를 실행한다는 얘기다...
입력할 값은 컬럼앞에 OLD. 을 붙여주면 된다...
왠만한 테이블엔 다 걸어주자...
update는?
mysql> DELIMITER //
mysql> CREATE TRIGGER tettt BEFORE INSERT ON testaa FOR EACH ROW
-> BEGIN
-> update test set aa=aa+NEW.aa, updateDate=now() where uid=NEW.uid;
-> END
-> //
이렇게 하면 된다.