찾다

 >  Q&A  >  본문

MySQL 테이블에 여러 행을 삽입하고 새 ID를 반환하는 방법은 무엇입니까?

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

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

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

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

P粉373990857P粉373990857226일 전406

모든 응답(2)나는 대답할 것이다

  • P粉561438407

    P粉5614384072024-04-07 09:07:17

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

    으아악

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

    회신하다
    0
  • P粉775723722

    P粉7757237222024-04-07 00:12:23

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

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

    회신하다
    0
  • 취소회신하다