데이터베이스 트리거를 생성하는 구문은 다음과 같습니다. [CREATE
< BEFORE | AFTER > ON FOR EACH Row
트리거는 현재 데이터베이스 내에서 고유한 이름을 갖습니다. 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으로 문의하세요.저자별 최신 기사
2024-10-13 13:32:21 2024-10-12 11:58:51 2024-10-11 20:06:51 2024-10-11 18:59:31 2024-10-11 18:30:51 2024-10-11 15:51:51 2024-10-11 15:42:10 2024-10-11 14:41:20 2024-10-11 14:08:31 2024-10-11 13:42:21최신 이슈단어와 일치하는 정규식 새 작업 이름을 데이터베이스의 기존 작업 이름과 일치시키려는 스크립트가 있습니다. SELECTa.titleASJobTitle,j.DescriptionASMatch...에서 2024-04-06 21:24:0401606MySQL SQL 쿼리를 사용하여 다른 테이블의 필드 합계를 계산합니다. 다음과 같은 스키마가 있습니다. "user_id" 및 "username" 속성이 있는 사용자 테이블과 "custome...에서 2024-04-06 19:39:2901441MySQL은 여러 테이블에서 데이터를 가져옵니다. 다음 열이 포함된 eg_design 테이블이 있습니다. 다음 열이 포함된 eg_domains 테이블과 다음 열이 포함된 eg_fonts 테이블이 있습니다. 이제 ...에서 2024-04-06 18:42:4402479루프 오버를 위해 ID별로 MySQL 결과 그룹화 mysql에 비행 데이터가 포함된 테이블이 있습니다. codeigniter3 travel_idair_idFlightDurationout_or_inflightdur...에서 2024-04-06 17:27:5601406관련 주제더>