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

MySQL 트리거를 생성하고 삭제하는 방법

WBOY
WBOY앞으로
2023-05-28 16:34:11960검색

MySQL 트리거를 생성하고 삭제하는 방법

1. 트리거가 필요한 이유는 무엇인가요?

제품 테이블과 재고 테이블 등 일부 테이블은 서로 관련되어 있습니다. 제품 테이블의 데이터를 조작할 때 해당 재고 테이블이 변경되어야 합니다. 데이터 무결성을 보장할 수 있습니다. 우리가 직접 수동으로 유지 관리한다면 더 번거로울 것입니다.
이때 트리거를 사용하여 트리거를 생성하면 제품 정보 데이터 삽입 작업이 자동으로 재고 데이터 등의 삽입 작업이 트리거되므로 추가하는 것을 잊어버려서 데이터가 손실될 염려가 없습니다. 재고 데이터.

2. 트리거 개요

  • MySQL은 버전 5.0.2부터 트리거를 지원합니다

  • MySQL 트리거와 저장 프로시저는 모두 MySQL 서버에 내장된 프로그램입니다

  • 트리거 작업은 특정 이벤트에 의해 트리거됩니다. 이러한 이벤트에는 삽입, 삭제 및 업데이트 이벤트가 포함됩니다. 트리거 프로그램이 정의된 경우 데이터베이스가 이러한 명령문을 실행하면 이벤트가 발생하는 것과 동일하며 해당 작업이 자동으로 트리거됩니다. 데이터베이스의 테이블에 데이터를 삽입할 때 일부 데이터베이스 논리를 자동으로 실행해야 하는 경우 트리거를 사용하여 이를 달성할 수 있습니다.

  • 3. 트리거 생성

  • 3.1 구문
  • 트리거는 테이블에서 작동합니다. 예를 들어 테이블 A에 새 레코드가 추가되면 트리거 실행이 트리거되도록 해야 합니다. 트리거 - 삽입 문이 실행되기 전 또는 후에 트리거가 실행되는지 여부입니다.

각 행은 이벤트(삽입, 업데이트 또는 삭제)가 실행될 때마다 트리거가 트리거됨을 나타냅니다.

CREATE TRIGGER 触发器名称 
{BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON 表名 
FOR EACH ROW 触发器执行的语句块;

설명:

  • 테이블 이름: 나타냅니다. 트리거 모니터링 개체.

BEFORE|AFTER: 트리거 시간을 나타냅니다. BEFORE는 이벤트 이전에 트리거된다는 의미이고 AFTER는 이벤트 이후에 트리거된다는 의미입니다.

  • INSERT|UPDATE|DELETE: 트리거된 이벤트를 나타냅니다. 表名:表示触发器监控的对象。

  • BEFORE|AFTER:表示触发的时间。BEFORE 表示在事件之前触发;AFTER 表示在事件之后触发。

  • INSERT|UPDATE|DELETE:表示触发的事件。

    • INSERT 表示插入记录时触发;

    • UPDATE 表示更新记录时触发;

    • DELETE 表示删除记录时触发。

  • 触发器执行的语句块

    INSERT는 레코드가 삽입될 때 트리거됨을 의미하고,

    UPDATE는 레코드가 업데이트될 때 트리거됨을 의미합니다. 기록이 삭제됩니다.


    MySQL 트리거를 생성하고 삭제하는 방법
    MySQL 트리거를 생성하고 삭제하는 방법트리거에 의해 실행되는 명령문 블록: 단일 SQL 문일 수도 있고 BEGIN...END 구조로 구성된 복합 명령문 블록일 수도 있습니다.

      3.2 사례 데모
    • 테이블을 먼저 준비하세요

      CREATE TABLE test_trigger (id INT PRIMARY KEY AUTO_INCREMENT,t_note VARCHAR(30));CREATE TABLE test_trigger_log (id INT PRIMARY KEY AUTO_INCREMENT,t_log VARCHAR(30));
    • 요구사항: 트리거 생성: before_insert라는 이름의 트리거를 생성합니다. test_trigger 데이터 테이블에 데이터를 삽입하기 전에 before_insert 로그 정보를 test_trigger_log 데이터 테이블에 삽입하세요.

    4. 트리거 보기 MySQL 트리거를 생성하고 삭제하는 방법

    • 트리거 보기는 데이터베이스에 이미 존재하는 트리거의 정의, 상태 및 구문 정보를 보는 것입니다.

    방법 1: 현재 데이터베이스의 모든 트리거 보기 정의

    MySQL 트리거를 생성하고 삭제하는 방법

    show triggers\G 注意,在SQLyog中,不能加上\G
    방법 2: 현재 데이터베이스의 트리거 정의 보기

    show create trigger 触发器名

    🎜🎜🎜🎜🎜방법 3: 시스템 라이브러리 정보의 TRIGGERS 테이블에서 "salary_check_trigger" 트리거 쿼리 _스키마 트리거 정보🎜🎜🎜
    SELECT * FROM information_schema.TRIGGERS;
    🎜5. 트리거 삭제🎜🎜트리거도 데이터베이스 개체이며, 트리거도 drop 문을 사용하여 삭제됩니다🎜
    drop trigger if exists 触发器名;

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

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제