programing

MySQL에서 삽입된 여러 행의 ID를 가져오려면 어떻게 해야 합니까?

starjava 2023. 9. 4. 19:30
반응형

MySQL에서 삽입된 여러 행의 ID를 가져오려면 어떻게 해야 합니까?

다음 명령을 사용하여 두 개의 열로 된 표에 몇 개의 단어를 삽입합니다.

INSERT IGNORE INTO terms (term) VALUES ('word1'), ('word2'), ('word3');
  1. 각 단어가 삽입된 행의 ID(기본 키)를 가져오려면 어떻게 해야 합니까?실행 후 "55,56,57"과 같은 값을 반환하는 것입니다.INSERTMySQL에 이러한 응답이 있습니까?

  2. 용어 열은 다음과 같습니다.UNIQUE용어가 이미 있는 경우 MySQL은 해당 용어를 삽입하지 않습니다.이 중복에 대한 참조(즉, 용어가 존재하는 행의 ID)를 반환할 수 있습니까?"55, 12, 56"과 같은 반응.

  1. 프레임워크/MySQL 라이브러리(언어에 관계없이) 호출을 통해 또는 호출을 통해 얻을 수 있습니다.

  2. 그건 안 돼요.거기서 당신은 삽입 후 아이디를 조회해야 합니다.

왜 그냥:

SELECT ID
  FROM terms
 WHERE term IN ('word1', 'word2', 'word3')

먼저 ID를 삽입하기 위해 다음과 같은 작업을 수행할 수 있습니다.

SELECT LAST_INSERT_ID() ;

주의, 이것은 당신의 마지막 이후에만 작동할 수 있습니다.INSERT쿼리하면 여러 개의 삽입이 있는 경우에만 첫 번째 ID를 반환합니다!

그다음에.IGNORE옵션, 삽입되지 않은 라인은 불가능할 것 같습니다.당신이 만들 때INSERT IGNOREMySQL에 중복 항목을 만들어야 하는 줄을 무시하라고만 하면 됩니다.

이 옵션을 넣지 않으면,INSERT중단될 것이며 중복으로 인해 라인이 발생할 것입니다.

언급URL : https://stackoverflow.com/questions/7501464/how-do-i-get-the-id-of-multiple-inserted-rows-in-mysql

반응형