>  기사  >  데이터 베이스  >  데이터베이스 트리거를 생성하는 방법

데이터베이스 트리거를 생성하는 방법

王林
王林원래의
2020-06-30 16:36:276265검색

데이터베이스 트리거를 생성하는 구문은 다음과 같습니다. [CREATE 58b19883e7826c040d0e0cf5b29c7ed0 ca226cb945ac95856ecfac65bf7545e4ON 249823cbf09623dd508dcdf0f05edb2a FOR EACH Row27cafd2034de74c871af5f5bdd0dbb6b 트리거는 현재 데이터베이스 내에서 고유한 이름을 갖습니다.

데이터베이스 트리거를 생성하는 방법

MySQL 5.7에서는 CREATE TRIGGER 문을 사용하여 트리거를 생성할 수 있습니다.

(추천 학습: mysql tutorial)

구문 형식은 다음과 같습니다.

CREATE <触发器名> < BEFORE | AFTER >
<INSERT | UPDATE | DELETE >
ON <表名> FOR EACH Row<触发器主体>

구문 설명은 다음과 같습니다.

1. 트리거 이름

트리거 이름은 고유해야 합니다. 현재 데이터베이스의 이름입니다. 특정 데이터베이스에서 생성하는 경우 이름 앞에 데이터베이스 이름이 와야 합니다.

2. INSERT | DELETE

트리거 이벤트는 트리거를 활성화하는 문 유형을 지정하는 데 사용됩니다.

3. BEFORE | AFTER

BEFORE 및 AFTER는 트리거가 실행되는 순간 트리거를 활성화하는 문 이전 또는 이후에 실행됨을 나타냅니다. 새 데이터가 조건을 충족하는지 확인하려면 BEFORE 옵션을 사용하고, 트리거를 활성화하는 문이 실행된 후 여러 가지 변경 사항을 완료하려면 일반적으로 AFTER 옵션을 사용합니다.

4. 테이블 이름

트리거와 연결된 테이블 이름입니다. 이 테이블은 영구 테이블이어야 합니다. 트리거는 임시 테이블이나 뷰와 연결할 수 없습니다. 테이블에 트리거 이벤트가 발생하면 트리거가 활성화됩니다.

동일한 테이블에는 동일한 트리거 시간과 이벤트를 갖는 두 개의 트리거가 있을 수 없습니다. 예를 들어, 데이터 테이블의 경우 두 개의 BEFORE UPDATE 트리거를 동시에 가질 수는 없지만 BEFORE UPDATE 트리거와 BEFORE INSERT 트리거 또는 BEFORE UPDATE 트리거와 AFTER UPDATE 트리거는 가질 수 있습니다.

5. 트리거 본문

트리거가 활성화될 때 실행될 MySQL 문을 포함하는 트리거 작업 본문입니다. 여러 문을 실행하려면 BEGIN…END 복합 문 구조를 사용할 수 있습니다.

6. FOR EACH ROW

는 일반적으로 행 수준 트리거를 의미하며 트리거 이벤트의 영향을 받는 각 행에 대해 트리거 작업이 활성화되어야 합니다. 예를 들어, INSERT 문을 사용하여 여러 데이터 행을 테이블에 삽입하는 경우 트리거는 삽입된 각 데이터 행에 대해 해당 트리거 동작을 실행합니다.

위 내용은 데이터베이스 트리거를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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