MySQL의 대량 삽입에서 자동 증가 ID 가져오기
데이터베이스 관리의 일반적인 작업 중 하나는 테이블에 여러 행을 삽입하고 각 행에 대해 생성된 자동 증가 ID를 검색합니다. 마지막으로 삽입된 ID를 검색하는 것은 LAST_INSERT_ID() 함수를 사용하여 간단하지만 대량 삽입의 경우 생성된 모든 ID의 배열을 얻는 데 어려움이 있습니다.
기존 방법: 임시 테이블을 통한 삽입
이전에는 임시 테이블에 새 ID를 삽입하고 하위 쿼리를 사용하여 다음을 수행하는 일반적인 기술이 있었습니다. 그것들을 검색하세요. 그러나 이 접근 방식에는 추가 단계가 필요하고 성능 오버헤드가 발생합니다.
InnoDB에서 LAST_INSERT_ID() 및 ROW_COUNT() 사용
최신 버전의 MySQL, 특히 InnoDB를 사용하는 버전 스토리지 엔진은 대량 삽입 ID를 검색하기 위한 대체 방법을 제공합니다. 이 방법은 ROW_COUNT()와 함께 LAST_INSERT_ID() 함수를 활용하여 할당된 자동 증가 값의 범위를 추출합니다.
절차:
예:
INSERT INTO `my_table` (`name`, `email`) VALUES ('John Doe', 'john.doe@example.com'), ('Jane Doe', 'jane.doe@example.com'), ('Peter Jones', 'peter.jones@example.com'); SET @first_id = LAST_INSERT_ID(); SET @last_id = @first_id + ROW_COUNT() - 1; SELECT * FROM `my_table` WHERE `id` BETWEEN @first_id AND @last_id;
혜택:
위 내용은 MySQL에서 대량 삽입 후 자동 증가 ID를 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!