제품 테이블과 재고 테이블 등 일부 테이블은 서로 관련되어 있습니다. 제품 테이블의 데이터를 조작할 때 해당 재고 테이블이 변경되어야 합니다. 데이터 무결성을 보장할 수 있습니다. 우리가 직접 수동으로 유지 관리한다면 더 번거로울 것입니다.
이때 트리거를 사용하여 트리거를 생성하면 제품 정보 데이터 삽입 작업이 자동으로 재고 데이터 등의 삽입 작업이 트리거되므로 추가하는 것을 잊어버려서 데이터가 손실될 염려가 없습니다. 재고 데이터.
MySQL은 버전 5.0.2부터 트리거를 지원합니다
MySQL 트리거와 저장 프로시저는 모두 MySQL 서버에 내장된 프로그램입니다
트리거 작업은 특정 이벤트에 의해 트리거됩니다. 이러한 이벤트에는 삽입, 삭제 및 업데이트 이벤트가 포함됩니다. 트리거 프로그램이 정의된 경우 데이터베이스가 이러한 명령문을 실행하면 이벤트가 발생하는 것과 동일하며 해당 작업이 자동으로 트리거됩니다. 데이터베이스의 테이블에 데이터를 삽입할 때 일부 데이터베이스 논리를 자동으로 실행해야 하는 경우 트리거를 사용하여 이를 달성할 수 있습니다.
3. 트리거 생성
트리거는 테이블에서 작동합니다. 예를 들어 테이블 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 表示删除记录时触发。
触发器执行的语句块
트리거에 의해 실행되는 명령문 블록
: 단일 SQL 문일 수도 있고 BEGIN...END 구조로 구성된 복합 명령문 블록일 수도 있습니다.
테이블을 먼저 준비하세요
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));
4. 트리거 보기
show triggers\G 注意,在SQLyog中,不能加上\G
show create trigger 触发器名
SELECT * FROM information_schema.TRIGGERS;
drop trigger if exists 触发器名;
위 내용은 MySQL 트리거를 생성하고 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!