MySQL에서 트리거를 생성하고 삭제하는 방법 살펴보기

PHPz
풀어 주다: 2023-04-19 15:07:15
원래의
891명이 탐색했습니다.

MySQL의 트리거는 테이블에 대해 DELETE, UPDATE, INSERT 작업이 수행될 때와 같이 미리 정의된 작업이 발생할 때 자동으로 실행될 수 있는 특수한 유형의 저장 프로시저입니다. 트리거는 테이블에 특수 구문을 정의하여 개발자에게 유연한 프로그래밍 옵션을 제공할 수 있습니다. 이 문서에서는 MySQL에서 트리거를 생성하고 삭제하는 방법을 살펴봅니다.

MySQL 트리거 생성

MySQL에서 트리거를 생성하려면 CREATE TRIGGER 문을 사용해야 하며 구문은 다음과 같습니다.

CREATE TRIGGER trigger_name 
BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name
FOR EACH ROW 
BEGIN 
   -- 触发器执行的操作
END;
로그인 후 복사

CREATE TRIGGER 문은 다음을 지정해야 합니다.

  • trigger_name 트리거의 이름 방아쇠.
  • BEFORE AFTER 이 작업을 트리거할 시기입니다.
  • INSERT|UPDATE|DELETE 트리거와 관련된 작업입니다.
  • table_name 트리거 작업을 수행할 테이블의 이름입니다.
  • FOR EACH ROW는 이 트리거가 매번 실행하는 행 수를 지정합니다.
  • BEGIN 및 END는 트리거에서 실행될 SQL 문을 정의합니다.

예를 들어 다음 CREATE TRIGGER 문은 데이터 행이 사용자 테이블에 삽입될 때 실행될 트리거를 정의합니다.

CREATE TRIGGER my_trigger 
BEFORE INSERT ON user
FOR EACH ROW
BEGIN
  INSERT INTO user_log (user_id, action) VALUES (NEW.id, 'inserted');
END;
로그인 후 복사

이 트리거는 사용자 테이블의 각 INSERT 작업 전에 실행되며 데이터 ID를 삽입합니다. user_log 테이블에 삽입된 작업 유형(삽입)

MySQL 트리거 삭제

MySQL에서 트리거를 삭제하려면 DROP TRIGGER 문을 사용해야 합니다. 구문은 다음과 같습니다.

DROP TRIGGER [IF EXISTS] trigger_name;
로그인 후 복사

DROP TRIGGER 문은 다음을 지정해야 합니다.

  • IF EXISTS 이 옵션이 설정된 경우 , 삭제하려고 하면 트리거가 존재하지 않으면 오류가 반환되지 않습니다.
  • trigger_name 삭제할 트리거의 이름입니다.

실제 예는 다음과 같습니다. my_trigger 트리거를 삭제하려는 경우 다음 명령문을 사용할 수 있습니다.

DROP TRIGGER IF EXISTS my_trigger;
로그인 후 복사

DROP TRIGGER 문에서 IF EXISTS 옵션을 사용하여 시도 중인 트리거를 확인했습니다. 삭제가 실제로 존재합니다. 이 옵션을 사용하지 않으면 존재하지 않는 트리거를 삭제하려고 하면 오류가 반환됩니다.

요약

MySQL의 트리거는 특정 상황에서 자동으로 작업을 수행하도록 구성 가능한 방법입니다. 트리거는 BEFORE 또는 AFTER 이벤트에서 실행될 수 있으며 INSERT, UPDATE 및 DELETE 작업에 대해 다양한 트리거를 정의할 수 있습니다. MySQL 트리거를 생성하려면 CREATE TRIGGER 문을 사용해야 하고, 트리거를 삭제하려면 DROP TRIGGER 문을 사용해야 합니다. MySQL 트리거에 대해 자세히 알아보려면 공식 MySQL 설명서를 참조하세요.

위 내용은 MySQL에서 트리거를 생성하고 삭제하는 방법 살펴보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿