INSERT 후 다른 테이블에 데이터를 삽입하기 위해 MySQL 트리거를 만드는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-26 20:02:10
원래의
524명이 탐색했습니다.

How to Create a MySQL Trigger to Insert Data into Another Table After an INSERT?

다른 테이블에 데이터를 삽입하도록 MySQL 트리거 프로그래밍

MySQL 트리거를 사용하면 데이터베이스 테이블에서 특정 이벤트가 발생할 때 사전 정의된 작업을 실행할 수 있습니다. . 이 경우 특정 테이블에 행이 삽입되면 다른 테이블에 행을 삽입하는 트리거를 만드는 것이 목표입니다.

마지막 삽입된 행의 ID를 가져오는 방법

마지막으로 삽입된 행의 ID를 캡처하려면 트리거 내에서 LAST_INSERT_ID() 함수를 사용해야 합니다. 이 함수는 가장 최근에 삽입된 행의 ID를 반환합니다.

INSERT 문에서 사용하기 위해 마지막으로 삽입된 행의 데이터 저장

마지막으로 삽입된 행의 데이터를 올바르게 저장하려면 주석 행에서는 트리거 내의 로컬 변수에 저장할 수 있습니다. 예를 들어 사용자 ID 열 이름이 user_id이고 설명 텍스트 열 이름이 comment_text인 경우 다음 구문을 사용할 수 있습니다.

DECLARE user_id INTEGER;
DECLARE comment_text VARCHAR(255);

SET user_id = NEW.user_id;
SET comment_text = NEW.comment_text;
로그인 후 복사

저장 프로시저 사용

트리거는 특정 이벤트에 대한 응답으로 작업을 자동으로 수행하는 데 유용하지만 기능이 제한되어 복잡한 작업에는 적합하지 않을 수 있습니다. 이러한 경우에는 트리거와 저장 프로시저를 조합하여 사용하는 것이 좋습니다.

트리거 구조

트리거의 기본 구조는 다음과 유사합니다.

DELIMITER $$

CREATE TRIGGER comments_after_ins_trig AFTER INSERT ON comments
FOR EACH ROW
BEGIN
  -- Grab the ID of the last inserted row
  SET @last_inserted_id = LAST_INSERT_ID();

  -- Store data from the last inserted row into local variables
  SET @user_id = NEW.user_id;
  SET @comment_text = NEW.comment_text;

  -- Perform the INSERT into the activities table
  INSERT INTO activities (user_id, comment_text) VALUES (@user_id, @comment_text);
END;
$$

DELIMITER ;
로그인 후 복사

위 내용은 INSERT 후 다른 테이블에 데이터를 삽입하기 위해 MySQL 트리거를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿