특정 테이블에서 데이타를 삭제하면 삭제한 데이타를 새로운 테이블에 인서트 시키는 트리거를 만들어보자...
트리거 작업할 테이블 이름이 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
-> //
이렇게 하면 된다.
'mysql' 카테고리의 다른 글
maria DB 레플리케이션(클러스터링) 서버 구축 (0) | 2019.05.30 |
---|---|
mysql 함수 만들기, 사용하기 (0) | 2018.08.14 |
marked as crashed and last (automatic?) repair failed 와 같은 오류가 난다면... (0) | 2018.07.05 |
mysql view 사용하기 (0) | 2018.06.18 |
mysql case when 조건문 (0) | 2018.06.18 |