> 데이터 베이스 > MySQL 튜토리얼 > MySQL의 ON DUPLICATE KEY UPDATE는 어떻게 영향을 받은 행 ID를 반환할 수 있습니까?

MySQL의 ON DUPLICATE KEY UPDATE는 어떻게 영향을 받은 행 ID를 반환할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-12-16 18:49:18
원래의
451명이 탐색했습니다.

How Can MySQL's ON DUPLICATE KEY UPDATE Return the Affected Row ID?

MySQL ON DUPLICATE KEY가 마지막으로 삽입되거나 업데이트된 ID를 반환할 수 있습니까?

MySQL에서 INSERT ... ON DUPLICATE KEY UPDATE 문은 단일 쿼리 내에서 삽입 또는 업데이트 작업을 허용합니다. 그러나 영향을 받은 행의 ID를 얻는 것은 어려울 수 있습니다.

일반적으로 LAST_INSERT_ID() 함수는 새로 삽입된 레코드의 ID를 반환합니다. 업데이트 작업 후에는 의미가 없습니다. 이 문제를 해결하려면 MySQL 설명서에 설명된 대로 LAST_INSERT_ID()가 포함된 표현식을 활용할 수 있습니다.

구체적으로 id 필드(이 예에서는 AUTO_INCREMENT 열)를 업데이트하고 LAST_INSERT_ID(expr ) 의미를 부여하는 표현으로 업데이트.

예:

ID 열이 AUTO_INCREMENT인 테이블을 생각해 보세요. 행을 업데이트하거나 삽입하고 영향을 받은 ID를 검색하려면:

INSERT INTO table (a, b, c) VALUES (1, 2, 3)
ON DUPLICATE KEY UPDATE id = LAST_INSERT_ID(id), c = 3;
로그인 후 복사

이 접근 방식을 사용하면 LAST_INSERT_ID()가 삽입 또는 업데이트 작업에 관계없이 영향을 받은 행의 ID를 제공하므로 두 번째 쿼리를 통해 얻을 필요가 없습니다. 아이디

위 내용은 MySQL의 ON DUPLICATE KEY UPDATE는 어떻게 영향을 받은 행 ID를 반환할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿