"중복 키 업데이트 시 삽입과 동일"을 사용하는 효율적인 MySQL 쿼리
고유 기반 레코드를 삽입하거나 업데이트하는 MySQL 쿼리를 최적화하려면 키의 경우 "중복 키 업데이트 시" 절을 활용하는 것이 중요합니다. 이 절을 사용하면 삽입 중에 중복 키가 발견될 때 수행해야 하는 작업을 지정할 수 있습니다.
고유 키가 있는 레코드를 삽입할 때 "On Duplicate Key Update" 절을 지정하여 기존 키를 업데이트할 수 있습니다. 키가 이미 존재하는 경우의 필드입니다. 이렇게 하면 모든 필드 값을 다시 명시적으로 지정할 필요가 없어 더욱 간결하고 효율적인 쿼리가 제공됩니다. 예를 들어 주어진 MySQL 쿼리를 고려해보세요.
INSERT INTO table (id, a, b, c, d, e, f, g) VALUES (1, 2, 3, 4, 5, 6, 7, 8)
"id" 필드에 고유 인덱스가 있는 경우 다음을 사용하여 동일한 키로 기존 레코드를 업데이트할 수 있습니다.
INSERT INTO table (id, a, b, c, d, e, f, g) VALUES (1, 2, 3, 4, 5, 6, 7, 8) ON DUPLICATE KEY UPDATE a=VALUES(a), b=VALUES(b), c=VALUES(c), d=VALUES(d), e=VALUES(e), f=VALUES(f), g=VALUES(g)
이 경우 "On Duplicate Key Update" 절은 "a"에서 "g" 필드를 insert 절의 해당 값으로 업데이트합니다. 이렇게 하면 모든 필드 값을 명시적으로 반복할 필요가 없어 쿼리가 단순화됩니다.
그러나 테이블의 기존 값이 삽입되는 값과 일치하면 업데이트 작업이 수행되지 않는다는 점에 유의할 필요가 있습니다. 이는 원하는 값이 이미 포함된 경우 필드를 업데이트할 필요가 없기 때문입니다.
삽입되거나 업데이트된 레코드의 ID를 검색하려면 "LAST_INSERT_ID()" 함수를 사용할 수 있습니다. 이 기능에 액세스하기 위한 구체적인 구문은 사용 중인 백엔드 애플리케이션에 따라 다릅니다. 예를 들어 LuaSQL에서는 "conn:getlastautoid()"를 사용하여 마지막 자동 생성 ID를 검색할 수 있습니다.
위 내용은 ON DUPLICATE KEY UPDATE를 사용하여 MySQL 레코드를 효율적으로 삽입하거나 업데이트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!