>  기사  >  데이터 베이스  >  MySQL 학습 요약의 트리거에 대한 자세한 설명

MySQL 학습 요약의 트리거에 대한 자세한 설명

WBOY
WBOY앞으로
2022-03-14 17:19:242497검색

이 글은 트리거와 관련된 문제를 주로 소개하는 mysql에 대한 관련 지식을 제공합니다. 트리거는 특수 저장 프로시저이며 특정 기능과 저장 기능을 모두 갖추고 있으므로 모든 사람에게 도움이 되기를 바랍니다.

MySQL 학습 요약의 트리거에 대한 자세한 설명

추천 학습: mysql 튜토리얼

Triggers

1. 트리거 소개

트리거는 특별한 저장 프로시저입니다. 트리거는 저장 프로시저와 마찬가지로 특정 기능을 완료할 수 있는 SQL 세그먼트로 데이터베이스 서버에 저장되지만, 데이터 테이블의 데이터에 대해 DML 작업을 수행할 때 트리거를 호출할 필요는 없습니다. 이 SQL 세그먼트를 실행하면 수동으로 호출할 필요가 없습니다.

MySQL에서는 insertdeleteupdate 작업만 트리거 실행을 트리거할 수 있습니다. TRIGGER
create trigger tri_name   -- tri_name:触发器别名
<before|after> 						-- 定义触发时机
<insert|delete|update>		-- 定义DML类型
ON <table_name>						-- 要触发的表
for each <row|statement>							
-- for each row 声明为⾏级触发器(操作的每⼀条记录就触发触发器执⾏⼀次)
-- for each statement 声明语句级触发器(触发动作体执行一次)
begin											-- 当只有一句sql语句时,begin...end 可以省略	
	sql_statement 					-- 进行触发器对应的DML类型的操作
end;


#示例
-- 创建触发器:当学⽣信息表发⽣添加操作时,则向⽇志信息表中记录⼀条⽇志
create trigger tri_test1
after insert on students
for each row
insert into stulogs(time,log_text) values(now(), concat('添 加',NEW.stu_num,'学⽣信息'));

3은 Triggreeee에 만 삭제할 수 없습니다.

트리거는 데이터 테이블의 데이터에 대한 삽입, 삭제 및 업데이트 작업을 모니터링하는 데 사용됩니다. 트리거는 일반적으로 일부 DML 관련 작업을 처리하며 NEW 및 OLD 키워드를 사용할 수 있습니다. 이 트리거를 트리거하는 DML 작업의 데이터를 가져옵니다

in the Trigger

NEW: In the Trigger⽤ 삽입 작업으로 추가된 데이터와 업데이트 작업으로 수정된 레코드를 가져오는 데 사용됩니다.

OLD: In the Trigger⽤ 삭제 작업으로 삭제 전 데이터를 가져오고 업데이트 작업으로 수정되기 전의 데이터

1. NEW

#查看全部触发器
show triggers;

#查看触发器的创建语句
show create trigger 触发器名字;

2. OLD

drop trigger  触发器名字;

사용 10.4 트리거 사용법 요약

1. 장점

트리거는 자동으로 실행됩니다. 해당 DML 작업은 트리거와 관련된 테이블에서 수행됩니다.

트리거는 다음을 포함하여 테이블의 데이터에 대한 계단식 작업(연관 작업)을 구현할 수 있습니다.

트리거는 보다 복잡한 적법성 검증을 수행할 수 있습니다. DML 연산 데이터에 대해

    2. 단점
  • 트리거로 구현된 비즈니스 로직에서 문제를 찾기 어렵고, 추후 유지 관리가 어렵습니다.
트리거를 많이 사용하면 쉽게 코드 구조가 복잡해지고 용량이 늘어날 수 있습니다.

트리거에 의해 작동되는 데이터의 양이 상대적으로 많으면 실행 효율성이 크게 떨어집니다.

3. 사용 권장 사항인터넷 프로젝트에서는 트리거 조정을 피해야 합니다.

동시성이 작은 프로젝트의 경우 저장 프로시저를 사용하도록 선택할 수 있지만 인터넷 참조에서는 사용하지 않는 것이 좋습니다.

    (이유: 프로시저를 저장할 때 비즈니스 구현 로직이 처리를 위해 데이터베이스에 넘겨져 데이터베이스의 부하가 증가하거나 감소하며, 데이터베이스 마이그레이션에 도움이 되지 않습니다.)
  • 추천 학습:
  • mysql 학습 튜토리얼

위 내용은 MySQL 학습 요약의 트리거에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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