ON DUPLICATE KEY를 사용하여 INSERT/UPDATE에 대한 행 ID 검색
질문:
방법 ON으로 INSERT 또는 UPDATE를 수행한 후 행의 ID를 검색할 수 있습니까? MySQL에서 별도의 쿼리를 실행할 필요 없이 키가 중복됩니까?
답변:
이를 해결하려면 LAST_INSERT_ID(expr) 함수를 해결 방법으로 사용할 수 있습니다. 이 함수에 표현식을 전달하면 LAST_INSERT_ID를 업데이트에 의미 있게 만들 수 있습니다.
설명:
링크된 문서에서 언급한 대로 (https://web.archive.org/web/20150329004325/https://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html), LAST_INSERT_ID()는 일반적으로 ' insert' ID는 INSERT 성공을 위한 ID입니다.
그러나 ON에서 LAST_INSERT_ID(expr)를 사용하여 DUPLICATE KEY UPDATE 절을 사용하면 업데이트에도 의미를 부여할 수 있습니다.
예를 들어 'id'가 AUTO_INCREMENT 열인 경우 쿼리를 다음과 같이 수정할 수 있습니다.
INSERT INTO table (a) VALUES (0) ON DUPLICATE KEY UPDATE>
이 경우 LAST_INSERT_ID(id)는 기존 레코드가 발견되어 업데이트된 경우 업데이트된 ID를 반환하고, 중복된 레코드가 없으면 새로 삽입된 레코드의 ID를 반환합니다. 찾았습니다.
위 내용은 ON DUPLICATE KEY를 사용하여 MySQL INSERT/UPDATE 후 행 ID를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!