>  기사  >  데이터 베이스  >  MySQL의 트리거 동작 예에 대한 자세한 설명

MySQL의 트리거 동작 예에 대한 자세한 설명

黄舟
黄舟원래의
2017-09-06 14:59:281398검색

트리거 작업:

1. 트리거 생성:

(1).

create trigger trigger_name before|after trigger_event on table_name for each row trigger_stmt;

trigger_event는 작업 이벤트(삽입, 업데이트, 삭제)를 나타냅니다.

trigger_stmt는 실행된 명령문을 나타냅니다. 예:

create trigger tri_test after insert on t1 for each row insert into t1_log values(USER(),'insert record into t1',now()); 
// 表示的是在对表t1的每一行进行插入操作之后,在表t1_log中插入一条数据,数据是values之后的内容,USER()指的是当前的用户(内置函数),now()当前时间.

(2). 여러 문을 포함하는 트리거 생성

create trigger trigger_name before|after trigger_event on table_name for each row BEGIN trigger_stmt end;

실행 후 구분 기호 실행, 구분 기호 복원

구분 기호는 여러 문이 세미콜론으로 구분되기 때문에 구분 기호를 전환하는 것을 의미합니다. 따라서 기본 구분 기호를 전환하고 명령문을 실행한 후 다시 전환해야 합니다.

delimiter $$
create trigger tri_test
after insert on t1 for each row
BEGIN
insert into t1_log values(USER(),'after insert table t1',now());
insert into t1_log values(USER(),'after insert table t1',now());
END
$$

3. 트리거 수정

트리거는 수정할 수 없으며, 원래 트리거만 삭제할 수 있습니다. 새 트리거를 만듭니다.

4. 트리거 삭제:

show triggers /G;
在information_schema数据库中查询
use information_schema;
select * from TRIGGERS where trigger_name = 'tri_test' \G;

위 내용은 MySQL의 트리거 동작 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.