> 데이터 베이스 > MySQL 튜토리얼 > ON DUPLICATE KEY를 사용하여 MySQL INSERT/UPDATE 후 행 ID를 얻는 방법은 무엇입니까?

ON DUPLICATE KEY를 사용하여 MySQL INSERT/UPDATE 후 행 ID를 얻는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-02 15:07:11
원래의
880명이 탐색했습니다.

How to Get the Row ID After MySQL INSERT/UPDATE with ON DUPLICATE KEY?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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