MySQL에서 ID 검색을 사용하여 여러 행 삽입
MySQL 테이블에 데이터를 삽입하면 일반적으로 LAST_INSERT_ID를 통해 새로 생성된 행의 ID가 반환됩니다. () 기능. 그러나 여러 행을 삽입하는 경우 ID 배열을 얻는 것이 어려울 수 있습니다.
InnoDB를 사용한 대량 삽입
최신 MySQL 버전을 사용하는 InnoDB 테이블의 경우 다음을 활용할 수 있습니다. LAST_INSERT_ID()와 ROW_COUNT()를 조합하여 삽입된 ID를 검색합니다. InnoDB는 innodb_autoinc_lock_mode 설정이 0(전통) 또는 1(연속)인 경우 대량 삽입을 위한 순차적 자동 증가 ID를 제공합니다.
ID 범위 검색
대량 삽입 가정 성명은 실행됨:
INSERT INTO table (`column1`, `column2`) VALUES ..., ..., ...
다음 공식을 사용하여 새로 삽입된 행의 ID 범위를 계산할 수 있습니다.
INSERTED_ID_RANGE = [LAST_INSERT_ID(), LAST_INSERT_ID() + ROW_COUNT() - 1]
예
다음 대량 삽입을 고려해보세요.
INSERT INTO table (`column1`, `column2`) VALUES (1, 'value 1'), (2, 'value 2'), (3, 'value 3');
LAST_INSERT_ID() 삽입 후 5가 삽입되는 ID 범위는
[5, 5 + ROW_COUNT() - 1] = [5, 5 + 3 - 1] = [5, 7]
따라서 삽입되는 ID의 배열은 [5, 6, 7]이 됩니다.
위 내용은 MySQL에 여러 행을 삽입한 후 ID를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!