집 >데이터 베이스 >MySQL 튜토리얼 >mysql에서 트리거를 생성하는 방법
MySQL에서 트리거를 생성하려면 먼저 트리거에 저장할 테이블을 생성한 후 트리거가 활성화되는 시간을 설정하고 마지막으로 정의된 조건이 충족될 때 트리거해야 합니다.
[추천 과정: #🎜에 정의된 문 모음을 충족하고 실행합니다. 🎜#MySQL Tutorial#🎜🎜 #】
트리거트리거는 다음 중 하나입니다. MySQL의 데이터베이스 객체는 프로그래밍 언어의 함수와 매우 유사하며 둘 다 선언하고 실행해야 합니다. 그러나 트리거 실행은 프로그램에 의해 호출되거나 수동으로 시작되지 않고 이벤트에 의해 트리거되고 활성화되어 실행됩니다. DOM의 이벤트와 다소 유사합니다.
트리거 생성# 🎜🎜 #
CREATE <触发器名> < BEFORE | AFTER > <INSERT | UPDATE | DELETE > ON <表名> FOR EACH Row<触发器主体>문법 분석
Trigger name
은 트리거 이름을 나타냅니다. 및 데이터베이스에서 고유합니다(특정 데이터베이스에서 생성하는 경우 데이터베이스 이름을 추가해야 함)
INSERT | DELETE
#🎜🎜 #은 트리거를 활성화하는 문 유형을 지정하는 데 사용되는 트리거 이벤트를 의미합니다. INSERT: 새 행이 테이블에 삽입되면 트리거가 활성화됩니다.
#🎜🎜 #DELETE: 테이블에서 데이터 행이 삭제될 때 트리거 활성화UPDATE: 테이블의 특정 데이터 행이 변경될 때 트리거 활성화BEFORE | AFTER
트리거가 실행되는 순간, 트리거를 활성화하는 명령문 이전 또는 이후에 트리거가 실행되는지 여부를 나타냅니다. 새 데이터가 조건을 충족하는지 확인하려면 BEFORE 옵션을 사용하고, 트리거를 활성화하는 문이 실행된 후 여러 가지 변경 사항을 완료하려면 일반적으로 AFTER 옵션을 사용합니다.테이블 이름
이 테이블은 영구 테이블이어야 합니다. 트리거는 임시 테이블과 결합될 수 없습니다. 또는 연결된 보기. 테이블에 트리거 이벤트가 발생하면 트리거가 활성화됩니다. 동일한 테이블에는 실행 시간과 이벤트가 동일한 두 개의 트리거가 있을 수 없습니다.트리거 본문
트리거 작업 본문에는 트리거가 활성화될 때 실행될 MySQL 문이 포함되어 있습니다. 여러 문을 실행하려면 BEGIN…END 복합 문 구조를 사용할 수 있습니다.FOR EACH ROW
은 행 수준 트리거링을 의미하며, 트리거 이벤트의 영향을 받는 각 행에 대해 트리거 작업이 활성화되어야 합니다.참고
: 동일한 테이블에서 동일한 트리거 시간을 갖는 동일한 트리거 이벤트에 대해 하나의 트리거만 정의할 수 있습니다. 트리거는 임시 테이블이 아닌 영구 테이블에서만 생성할 수 있습니다.예: double_salary라는 트리거를 생성합니다
double_salary -> AFTER INSERT ON tb_emp1 -> FOR EACH ROW -> INSERT INTO tb_emp2 -> VALUES (NEW.id,NEW.name,deptId,2*NEW.salary); Query OK, 0 rows affected (0.25 sec)
위 코드의 의미는 double_salary에 대한 트리거를 생성하는 것입니다. 트리거 조건은 tb_emp1 데이터 테이블에 데이터를 삽입한 후 tb_emp2 데이터 테이블에도 동일한 데이터가 삽입되고, 급여는 tb_emp1에 새로 삽입된 급여 필드 값의 2배가 되는 것입니다.
요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들께 도움이 되었으면 좋겠습니다.위 내용은 mysql에서 트리거를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!