CREATE TRIGGER문법
CREATE
[DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_body- 설명
- DEFINER
- DEFINER 조항은 트리거 활성화 시간에 액세스 권한을 확인할 때 사용되는 보안 컨텍스트를 결정합니다.
- trigger_time
- trigger_time는 트리거 동작 시간입니다.트리거가 수정되는 각 행의 앞 또는 뒤에 활성화한다는 것을 가리킨다 앞 또는 뒤에이 될 수 있습니다.
- trigger_event
- INSERT
- 새 행이 테이블에 삽입될 때마다 트리거가 활성화됩니다.
- UPDATE
- 행을 수정할 때마다 트리거가 활성화됩니다.
- DELETE
- 행이 테이블에서 삭제됩니다 때마다 트리거가 활성화됩니다.
- trigger_body
- 트리거가 활성화 될때 실행할 수 있는 구문을 기술.
- DB 만들기
- mysql에 root권한으로 접속후, 테스트 데이터베이스를 만들고, User를 만듭니다.
- mysql -u아이디 -p
create database test; use test; grant all privileges on test.* to test@localhost identified by 'test' with grant option;
[실행화면]

- 예제 테이블 만들기
- mysql -utest -ptest로 접속한다. 그다음 아래의 명령문을 실행한다.
use test; CREATE TABLE test1(a1 INT); CREATE TABLE test2(a2 INT); CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY); CREATE TABLE test4( a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY, b4 INT DEFAULT 0 );
[실행화면]

- 트리거 만들기
- 트리거 이름 “testref”이고, test1테이블의 Insert후 트리거를 동작
- test2테이블 a2에 test1에 추가한a1을 넣어 Insert를 함.
- test3테이블 test1에 추가한a1값과 같은 데이터를 지움.
- test4테이블 a4와 test1에 추가한a1이 같으면 b4에 1을 더한다.
delimiter |
CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
DELETE FROM test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END;
|
delimiter ;[실행화면]

- test3테이블에 초기 데이터 Insert
INSERT INTO test3 (a3) VALUES (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL), (NULL);
- test4테이블에 초기 데이터 Insert
INSERT INTO test4 (a4) VALUES (0), (0), (0), (0), (0), (0), (0), (0), (0), (0);
- test1테이블에 데이터 Insert
INSERT INTO test1 VALUES
(1), (3), (1), (7), (1), (8), (4), (4);[실행화면]

- 결과 확인
select * from test1;
[실행화면]

select * from test2;
[실행화면]

select * from test3;
[실행화면]

select * from test4;
[실행화면]

어떤가요? 트리거에 정의했던데로 값들이 바뀌어 있죠!
트리거의 사용 방법에 대해서 조금은 알것 같죠!
오늘은 여기 까지 입니다.
감사합니다.
[참고 사이트]:http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html
댓글 7개
12년 전
저도 최근들어 트리거 사용하기 시작했는데 설명을 잘해주셨네요~
12년 전
감사합니다. ^^
asdfg
12년 전
감사
takumi22
12년 전
감사합니다
쉽다zzz
12년 전
감사합니다~
Jos87
12년 전
감사합니다
하룻강아지
12년 전
오우 머리아파..
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 5830 | 13년 전 | 1195 | ||
| 5829 | 13년 전 | 5061 | ||
| 5828 | 13년 전 | 6442 | ||
| 5827 | 13년 전 | 1220 | ||
| 5826 |
|
13년 전 | 546 | |
| 5825 | 13년 전 | 903 | ||
| 5824 |
|
13년 전 | 1889 | |
| 5823 | 13년 전 | 5630 | ||
| 5822 |
jfascas
|
13년 전 | 1059 | |
| 5821 | 13년 전 | 1710 | ||
| 5820 | 13년 전 | 1323 | ||
| 5819 |
itlang
|
13년 전 | 520 | |
| 5818 | 13년 전 | 1313 | ||
| 5817 | 13년 전 | 789 | ||
| 5816 | 13년 전 | 627 | ||
| 5815 | 13년 전 | 6141 | ||
| 5814 | 13년 전 | 864 | ||
| 5813 |
악마의유혹
|
13년 전 | 465 | |
| 5812 | 13년 전 | 2814 | ||
| 5811 | 13년 전 | 1188 | ||
| 5810 | 13년 전 | 3539 | ||
| 5809 | 13년 전 | 1363 | ||
| 5808 | 13년 전 | 1074 | ||
| 5807 | 13년 전 | 584 | ||
| 5806 | 13년 전 | 565 | ||
| 5805 |
angrysol
|
13년 전 | 827 | |
| 5804 | 13년 전 | 1016 | ||
| 5803 | 13년 전 | 1750 | ||
| 5802 |
angrysol
|
13년 전 | 1070 | |
| 5801 |
후라보노보노
|
13년 전 | 2167 | |
| 5800 | 13년 전 | 1122 | ||
| 5799 |
|
13년 전 | 4204 | |
| 5798 |
|
13년 전 | 3374 | |
| 5797 |
|
13년 전 | 4949 | |
| 5796 | 13년 전 | 7559 | ||
| 5795 | 13년 전 | 2782 | ||
| 5794 | 13년 전 | 2243 | ||
| 5793 |
|
13년 전 | 673 | |
| 5792 | 13년 전 | 2982 | ||
| 5791 | 13년 전 | 854 | ||
| 5790 | 13년 전 | 4341 | ||
| 5789 |
|
13년 전 | 2488 | |
| 5788 |
|
13년 전 | 1865 | |
| 5787 |
오지랖선생
|
13년 전 | 1632 | |
| 5786 | 13년 전 | 5939 | ||
| 5785 | 13년 전 | 1773 | ||
| 5784 |
|
13년 전 | 1460 | |
| 5783 | 13년 전 | 1317 | ||
| 5782 |
|
13년 전 | 2831 | |
| 5781 | 13년 전 | 2864 | ||
| 5780 | 13년 전 | 1166 | ||
| 5779 |
|
13년 전 | 1367 | |
| 5778 |
오리진소프트
|
13년 전 | 4614 | |
| 5777 | 13년 전 | 691 | ||
| 5776 | 13년 전 | 1169 | ||
| 5775 | 13년 전 | 1481 | ||
| 5774 | 13년 전 | 1900 | ||
| 5773 |
|
13년 전 | 1927 | |
| 5772 | 13년 전 | 1692 | ||
| 5771 | 13년 전 | 4801 | ||
| 5770 | 13년 전 | 1133 | ||
| 5769 | 13년 전 | 6113 | ||
| 5768 |
|
13년 전 | 1589 | |
| 5767 | 13년 전 | 1690 | ||
| 5766 |
프로프리랜서
|
13년 전 | 1393 | |
| 5765 |
|
13년 전 | 1046 | |
| 5764 | 13년 전 | 1769 | ||
| 5763 |
|
13년 전 | 790 | |
| 5762 |
|
13년 전 | 2293 | |
| 5761 | 13년 전 | 626 | ||
| 5760 | 13년 전 | 630 | ||
| 5759 | 13년 전 | 3276 | ||
| 5758 | 13년 전 | 1089 | ||
| 5757 |
|
13년 전 | 751 | |
| 5756 | 13년 전 | 576 | ||
| 5755 | 13년 전 | 1068 | ||
| 5754 |
|
13년 전 | 2235 | |
| 5753 | 13년 전 | 682 | ||
| 5752 | 13년 전 | 1555 | ||
| 5751 | 13년 전 | 777 | ||
| 5750 | 13년 전 | 766 | ||
| 5749 | 13년 전 | 2585 | ||
| 5748 | 13년 전 | 1019 | ||
| 5747 | 13년 전 | 1229 | ||
| 5746 |
|
13년 전 | 658 | |
| 5745 | 13년 전 | 1669 | ||
| 5744 | 13년 전 | 696 | ||
| 5743 | 13년 전 | 844 | ||
| 5742 |
프로프리랜서
|
13년 전 | 588 | |
| 5741 | 13년 전 | 649 | ||
| 5740 | 13년 전 | 640 | ||
| 5739 | 13년 전 | 734 | ||
| 5738 | 13년 전 | 1931 | ||
| 5737 | 13년 전 | 1000 | ||
| 5736 | 13년 전 | 1099 | ||
| 5735 | 13년 전 | 1998 | ||
| 5734 | 13년 전 | 1149 | ||
| 5733 | 13년 전 | 2796 | ||
| 5732 |
JOYCOM
|
13년 전 | 650 | |
| 5731 | 13년 전 | 3313 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기