> 데이터 베이스 > MySQL 튜토리얼 > MySQL에 대량 삽입 후 자동 생성된 ID를 검색하는 방법은 무엇입니까?

MySQL에 대량 삽입 후 자동 생성된 ID를 검색하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-28 09:34:09
원래의
634명이 탐색했습니다.

How to Retrieve Auto-Generated IDs After Bulk Insertion in MySQL?

MySQL에서 ID 검색을 통한 대량 삽입

MySQL 테이블에 여러 행을 삽입하고 새 ID를 검색하는 것은 일반적인 요구 사항입니다. 구현하는 것이 즉시 명백해집니다. 이 문서에서는 특히 InnoDB 스토리지 엔진을 사용할 때 MySQL의 LAST_INSERT_ID() 및 ROW_COUNT() 함수를 사용하여 이를 달성하는 방법을 설명합니다.

InnoDB의 순차 ID 생성

활용 시 MySQL을 사용하는 InnoDB 스토리지 엔진의 경우 대량 삽입은 AUTO INCREMENT ID의 순차적 할당을 유지합니다. innodb_autoinc_lock_mode는 0(기존) 또는 1(연속)로 설정됩니다.

ID 배열 검색

대량 삽입 후 ID 배열을 검색하려면 다음을 따르세요. 단계:

  1. 대량 삽입 실행 query.
  2. LAST_INSERT_ID()를 사용하여 첫 번째 ID를 얻습니다.
  3. 첫 번째 ID에 ROW_COUNT()-1을 추가하여 마지막 ID를 계산합니다.
  4. ID 배열 생성 첫 번째 ID부터 마지막 ​​ID까지

예:

-- Insert bulk rows
INSERT INTO table_name (column1, column2) VALUES (val1, val2), (val3, val4), (val5, val6);

-- Get the first ID
SET @first_id = LAST_INSERT_ID();

-- Get the number of rows inserted
SET @num_rows = ROW_COUNT();

-- Create an array of IDs
SET @ids = ARRAY();

-- Populate the array
WHILE (@i < @num_rows) DO
  SET @ids[@i] = @first_id + @i;
  SET @i = @i + 1;
END WHILE;
로그인 후 복사

이 기술은 대량 삽입 후 새로 생성된 ID 배열을 효율적으로 제공하므로 추가 처리 또는 내부에서 사용할 수 있습니다. 애플리케이션 로직.

위 내용은 MySQL에 대량 삽입 후 자동 생성된 ID를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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