업데이트 조항에서 기존 데이터와 신규 데이터로 UPSERTS를 실행하는 방법
데이터베이스 관리 영역에서 UPSERTS는 업데이트에 중요한 역할을 합니다. 삽입 및 업데이트 작업을 조화시켜 테이블을 만듭니다. 일반적인 시나리오에는 새로 들어오는 값을 기반으로 테이블의 기존 값을 늘리는 작업이 포함됩니다. 예를 들어, 품목이 입고되고 재고가 추적되는 재고 테이블을 유지 관리하는 경우 새 품목 삽입과 기존 품목의 재고 업데이트를 모두 처리하는 메커니즘이 필요합니다.
전통적으로 이 문제에 접근하는 방법은 다음과 같습니다. UPSERT 문의 업데이트 절에 있는 하위 쿼리입니다. 이 기술을 사용하면 업데이트 중인 행에서 기존 값을 검색할 수 있습니다. 그러나 테이블에 여러 개의 열이 있을 수 있으므로 여러 개의 select 문을 작성하는 것은 번거로울 수 있습니다.
이 문제를 해결하기 위해 하위 쿼리가 필요하지 않은 더 간단한 접근 방식이 있습니다. ON DUPLICATE KEY를 통해 업데이트를 트리거하는 행을 참조하면 업데이트 절 내에서 해당 값에 직접 액세스하고 조작할 수 있습니다.
다음 UPSERT 문을 고려하세요.
INSERT INTO `item` (`item_name`, items_in_stock) VALUES( 'A', 27) ON DUPLICATE KEY UPDATE `new_items_count` = `new_items_count` + 27
이 예에서는 , new_items_count 열은 기존 값을 새 값 27로 늘려 업데이트됩니다.
이 단순화된 접근 방식은 코드 가독성을 향상시킬 뿐 아니라 불필요한 하위 쿼리를 제거하여 효율성도 향상시킵니다. 데이터베이스 프로그래밍의 핵심은 단순성과 효율성을 추구하는 데 있는 경우가 많으며 이 우아한 솔루션은 두 가지 모두를 잘 보여줍니다.
위 내용은 기존 데이터베이스 항목에 대한 증분 업데이트를 통해 UPSERTS를 효율적으로 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!