이 글에서는 mysql에 대한 관련 지식을 제공합니다. 트리거가 필요한 이유, 트리거 개요, 트리거 생성 등 트리거와 관련된 문제를 주로 정리합니다. 함께 살펴보세요. 모두를 돕습니다.
추천 학습: mysql 동영상 튜토리얼
제품 테이블과 재고 테이블 등 일부 테이블은 서로 관련되어 있으며, 그 다음에는 제품 테이블의 데이터를 작동합니다. 해당 데이터의 무결성을 보장하려면 인벤토리 테이블을 변경해야 합니다. 우리가 직접 수동으로 유지 관리한다면 더 번거로울 것입니다.
이때, 트리거를 사용하여 트리거를 생성하면, 상품 정보 데이터 삽입 작업이 자동으로 재고 데이터 등의 삽입 작업이 트리거되므로, 깜빡해서 데이터가 손실될 염려가 없습니다. 인벤토리 데이터를 추가합니다.
트리거는 테이블에서 작동합니다. 예를 들어 테이블 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는 레코드가 업데이트될 때 트리거되는 것을 의미합니다.
트리거에 의해 실행되는 명령문 블록
: 단일 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));
방법 1: 현재 데이터베이스에 있는 모든 트리거의 정의 보기
show triggers\G 注意,在SQLyog中,不能加上\G🎜🎜방법 2: 현재 데이터베이스에서 트리거 정의 보기🎜🎜
show create trigger 触发器名🎜🎜🎜🎜🎜방법 3: 시스템 라이브러리 information_schema🎜🎜의 TRIGGERS 테이블에서 "salary_check_trigger" 트리거 정보 쿼리
SELECT * FROM information_schema.TRIGGERS;🎜 5. 트리거 삭제🎜🎜트리거도 데이터베이스 객체이며, 드롭 문을 사용하여 트리거도 삭제됩니다.🎜
drop trigger if exists 触发器名;🎜추천 학습: 🎜mysql 비디오 튜토리얼🎜🎜
위 내용은 MySQL 트리거의 완전한 숙달의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!