>데이터 베이스 >MySQL 튜토리얼 >LAST_INSERT_ID()는 MySQL의 여러 레코드 INSERT 문과 어떻게 작동합니까?

LAST_INSERT_ID()는 MySQL의 여러 레코드 INSERT 문과 어떻게 작동합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-17 11:48:01589검색

How does LAST_INSERT_ID() behave with multiple record INSERT statements in MySQL?

여러 레코드 INSERT 문에서 LAST_INSERT_ID() 동작

단일 INSERT 문으로 MySQL 테이블에 여러 레코드를 삽입할 때 LAST_INSERT_ID() 일반적으로 마지막 레코드가 아닌 첫 번째 삽입된 레코드의 ID를 반환합니다.

MySQL 문서에서 확인된 것처럼 이 동작은 INSERT 문이 다른 서버에서 정확하게 재현될 수 있도록 보장합니다. 후속 레코드의 ID 값은 여러 데이터베이스 서버에서 일관되게 할당될 수 없기 때문에 반환되지 않습니다.

예:

다음 INSERT 문을 고려하세요.

INSERT INTO people (name, age)
VALUES ('William', 25), ('Bart', 15), ('Mary', 12);

이 명령문을 실행하면 LAST_INSERT_ID()는 처음 삽입된 레코드(William)의 ID인 1을 반환합니다. 이는 예상되는 동작이며 의도하지 않은 결과 없이 명령문이 복제될 수 있도록 보장합니다.

의미:

여러 레코드 삽입을 처리하는 코드에서는 다음 사항에 유의하는 것이 중요합니다. 이 동작을 파악하고 이에 따라 ID 값을 처리합니다. 예를 들어, 삽입된 모든 레코드의 ID를 검색해야 하는 경우 삽입된 행 수를 반환한 다음 개별적으로 ID를 검색하는 등의 다른 접근 방식을 사용해야 할 수 있습니다.

위 내용은 LAST_INSERT_ID()는 MySQL의 여러 레코드 INSERT 문과 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.