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