>  기사  >  데이터 베이스  >  MySQL 고급 트리거

MySQL 고급 트리거

高洛峰
高洛峰원래의
2016-12-02 13:51:17940검색

트리거는 특정 데이터 작업(삽입/업데이트/삭제)을 모니터링하고 관련 작업(삽입/업데이트/삭제)을 트리거할 수 있는 특수한 유형의 트랜잭션입니다.

MySQL 고급 트리거

다음 이벤트를 살펴보세요.

MySQL 고급 트리거

주문 및 재고 감소 논리 완성

o(gid,num) 값에 삽입 ​​(2,3); // 명령문 삽입

업데이트 g set products_num = products_num - 3 where id = 2; 🎜>

이 두 논리는 전체로 간주할 수 있습니다. 즉, --->를 삽입하면 업데이트가 가능합니다.

트리거를 사용하면 위의 문제를 해결할 수 있습니다.

특정 테이블의 변경 사항을 모니터링하고 특정 변경 사항이 발생하면 작업을 트리거할 수 있습니다.

MySQL 고급 트리거생성 구문 트리거

트리거 생성 TriggerName

테이블 이름 삽입/업데이트/삭제 후/전

각 행마다 #이 문장은 고정됨

시작

SQL 문; # 삽입/업데이트/삭제 범위 내의 하나 이상의 문장

End;

삭제 트리거 구문:

드롭 트리거 트리거 이름

트리거 보기

트리거 표시

MySQL 고급 트리거값 참조 방법 트리거의 행

삽입의 경우 새 행은 new로 표시되고

행의 각 열 값은 new.column 이름으로 표시됩니다.

삭제의 경우 원래 삭제된 행이 있었습니다.

삭제된 행을 참조하려면 old를 사용하여 나타낼 수 있습니다. 삭제된 행 값.

업데이트의 경우

수정된 행,

수정 전 데이터, 이전, old.column 이름으로 표시 참조가 수정되기 전 행의 값

수정된 데이터는 new, new로 표현됩니다. 컬럼명은 수정 후 행의 값을 참조합니다

MySQL 고급 트리거

MySQL 고급 트리거트리거의 이전과 이후의 차이점

트리거 이전에 데이터의 추가, 삭제, 수정을 완료한 후

트리거된 문은 다음과 같습니다. 모니터링 이후 추가, 삭제, 수정은 이전 추가, 삭제, 수정 작업에 영향을 미치지 않습니다.

Before는 트리거를 먼저 완료한 다음 추가, 삭제, 변경합니다.

트리거된 명령문이 모니터링된 명령문보다 앞에 추가, 삭제, 변경이 발생하면 향후 작업을 판단하고 수정할 수 있습니다.

일반적인 경우:

주문한 상품의 수량을 5개 이상으로 판단하는 경우

주문한 상품의 수량을 강제로 변경합니다. ~ 5

MySQL 고급 트리거어떤 것이 트리거되는지 확인하세요:

MySQL 고급 트리거

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:MySQL 고급 인덱스다음 기사:MySQL 고급 인덱스