MySQL 테이블에 여러 행을 삽입하고 새 ID를 반환하는 방법은 무엇입니까?
P粉373990857
P粉373990857 2024-04-06 10:03:44
0
2
411

보통 MySQL 테이블에 행을 삽입하고 last_insert_id를 얻을 수 있습니다. 하지만 이제는 테이블에 많은 행을 대량으로 삽입하고 ID 배열을 가져오고 싶습니다. 내가 어떻게 할 수 있는지 아는 사람 있나요?

비슷한 질문이 있지만 완전히 똑같지는 않습니다. 임시 테이블에 새 ID를 삽입하고 싶지는 않습니다. 단지 ID 배열을 다시 가져오고 싶습니다.

대량 삽입에서 lastInsertId를 검색할 수 있나요?

last_insert_id()를 사용하는 Mysql 다중 행 삽입 선택 문

P粉373990857
P粉373990857

모든 응답(2)
P粉561438407

제 생각에 가능한 유일한 방법은 삽입된 각 행 집합에 대해 고유 식별자(guid)를 저장하는 것입니다. 그런 다음 행 ID를 선택합니다. 예:

으아악

또한 uuid()를 사용하여 데이터베이스에 guid를 생성할 수도 있습니다

P粉775723722

오래된 스레드이지만 방금 살펴본 내용은 다음과 같습니다. 최신 버전의 MySQL에서 InnoDB를 사용하는 경우 LAST_INSERT_ID()ROW_COUNT()를 사용하여 ID 목록을 얻을 수 있습니다.

InnoDB는 innodb_autoinc_lock_mode가 0(레거시) 또는 1(연속)로 설정된 경우 대량 삽입을 수행할 때 자동 증가하는 시퀀스 번호를 보장합니다. 그러면 LAST_INSERT_ID() 获取第一个 ID,并通过添加 ROW_COUNT()-1마지막 ID를 에서 얻을 수 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿