다른 테이블에 데이터를 삽입하도록 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!