트랜잭션을 사용하여 여러 MySQL 테이블에 데이터를 삽입하려면 어떻게 해야 합니까?
Dec 15, 2024 am 12:02 AM트랜잭션을 사용하여 여러 MySQL 테이블에 삽입
단일 MySQL 쿼리를 사용하여 여러 테이블에 데이터를 직접 삽입하는 것은 불가능합니다. 그러나 동일한 결과를 얻는 더 좋은 방법이 있습니다.
트랜잭션 사용
트랜잭션을 사용하면 여러 MySQL 문을 단일 작업 단위로 그룹화할 수 있습니다. 트랜잭션 내의 문 중 하나라도 실패하면 전체 트랜잭션이 롤백되어 데이터 무결성이 보장됩니다. 트랜잭션을 사용하여 여러 테이블에 데이터를 삽입하는 방법은 다음과 같습니다.
BEGIN; INSERT INTO users (username, password) VALUES ('test', 'test'); INSERT INTO profiles (userid, bio, homepage) VALUES (LAST_INSERT_ID(), 'Hello world!', 'http://www.stackoverflow.com'); COMMIT;
- BEGIN 문은 트랜잭션을 시작합니다.
- 다음 INSERT 문은 사용자 및 프로필에 데이터를 삽입합니다.
- LAST_INSERT_ID()는 사용자 테이블에서 자동 생성된 ID를 검색하고 다음에서 사용됩니다. 프로필 테이블 삽입.
- COMMIT 문은 트랜잭션을 마무리하고 변경 사항을 영구적으로 적용합니다.
기타 고려 사항
- MySQL 변수에 마지막 삽입 ID 저장: 후속 쿼리에 사용하기 위한 MySQL 변수의 LAST_INSERT_ID(). 다음 구문을 사용하세요.
INSERT ... SELECT LAST_INSERT_ID() INTO @mysql_variable_here; INSERT INTO table2 (@mysql_variable_here, ...);
- PHP 변수에 마지막 삽입 ID 저장: mysql_insert_id()와 같은 PHP 함수를 사용하여 LAST_INSERT_ID()를 가져올 수 있습니다. PHP에 저장 변수.
경고
트랜잭션을 사용할 때 프로세스 중에 실행이 중단될 경우의 결과를 고려하는 것이 중요합니다. 한 테이블에서 부분 삽입이나 행 누락이 허용되지 않는 경우 전체 프로세스를 트랜잭션으로 래핑해야 합니다.
위 내용은 트랜잭션을 사용하여 여러 MySQL 테이블에 데이터를 삽입하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까?
