이 기사에서는 mysql에 대한 관련 지식을 제공합니다. 트리거란 무엇인지, 데이터베이스에서 트리거를 생성하는 방법, 트리거가 외래 키를 대체할 수 있는지 여부 등 트리거와 관련된 문제를 주로 소개합니다. 함께 살펴보겠습니다. 모든 사람에게 도움이 되기를 바랍니다.
추천 학습: mysql 동영상 튜토리얼
Concept: 트리거는 데이터 무결성을 보장하기 위해 SQL 서버에서 제공하는 방법입니다. 테이블 이벤트와 관련된 특수 저장 프로시저로 프로그램 호출이 수동으로 시작되지 않습니다. 예를 들어 테이블이 조작(삽입, 삭제, 업데이트)되면 해당 테이블의 실행이 활성화됩니다. 트리거는 데이터 무결성 제약 조건과 비즈니스 규칙을 적용하는 데 자주 사용됩니다. 트리거는 DBA_TRIGGERS 및 USER_TRIGGERS 데이터 사전에서 찾을 수 있습니다. SQL3 트리거는 데이터베이스를 수정하기 위해 시스템에서 자동으로 실행할 수 있는 명령문입니다.
예제 1: 사용자 테이블(사용자 ID, 사용자 이름)을 생성하고 트리거를 생성합니다. (사용자 테이블에 데이터가 삽입되면 글로벌 고유 ID가 자동으로 생성됩니다.)
사용자 테이블을 먼저 생성하세요
create table user( id int PRIMARY KEY, name varchar(20) );
트리거 생성
-- 建立触发器名为tt create TRIGGER tt -- 触发条件,向user表中插入数据时启动触发器 BEFORE insert on user -- 检查表中每一行,对新插入的数据进行操作 for EACH ROW -- 执行操作 BEGIN set new.id=UUID(); END
방금 생성된 트리거(트리거는 아래에서 확인하세요) 현재 데이터베이스 모든 트리거 코드는 트리거를 표시합니다.)
Effect: 테이블에 세 개의 사용자 이름을 삽입하고 자동으로 세 개의 ID를 생성합니다.
insert user(name) VALUE('张三'),('李四'),('王五')
예 2: 다른 주문 테이블 생성 DD(주문 ID, 제품 이름 , 사용자 ID), 트리거 tq1을 생성합니다(사용자가 삭제되면 해당 사용자의 주문도 삭제됩니다)
테이블 만들기
create table DD( ddid int PRIMARY KEY, ddname VARCHAR(20), userid VARCHAR(50) )
트리거 생성
delimiter $ -- 建立触发器名为tq create TRIGGER tq1 -- 触发条件,再dd表删除数据之后启动触发器 AFTER DELETE on user -- 检查表中每一行,对新插入的数据进行操作 for EACH ROW -- 执行操作 BEGIN DELETE FROM dd WHERE old.id=userid; END $ delimiter ;
을 테이블에 추가 두 조각의 데이터
Effect: user 테이블의 사용자를 삭제하면 dd 테이블의 레코드도 삭제됩니다.
Delete Zhang San
delete from user WHERE name='张三'
요약: 트리거는 경우에 따라 외래 키를 대체할 수 있지만 모든 상황에서 그렇지는 않습니다. 외래 키와 트리거를 함께 사용할 수도 있습니다
추천 학습: mysql 비디오 튜토리얼
위 내용은 MYSQL 데이터베이스 트리거에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!