> 데이터 베이스 > MySQL 튜토리얼 > SQL 쿼리를 사용하여 Microsoft Access에서 Upsert 작업을 어떻게 시뮬레이션할 수 있습니까?

SQL 쿼리를 사용하여 Microsoft Access에서 Upsert 작업을 어떻게 시뮬레이션할 수 있습니까?

Patricia Arquette
풀어 주다: 2025-01-19 20:01:15
원래의
686명이 탐색했습니다.

How Can I Simulate an Upsert Operation in Microsoft Access Using SQL Queries?

시뮬레이션된 쿼리를 사용하여 Microsoft Access에서 Upsert 작업 수행

Microsoft Access에서 Upsert 작업(존재하는 경우 행 업데이트, 존재하지 않는 경우 행 삽입)은 LEFT JOIN과 결합된 UPDATE 쿼리를 사용하여 시뮬레이션할 수 있습니다. 이 접근 방식을 사용하면 단일 쿼리로 두 경우를 모두 처리할 수 있습니다.

Upsert 작업을 수행하려면 다음 단계를 따르세요.

  1. 기존 행의 열에 원하는 값을 설정하는 업데이트 쿼리를 만듭니다.
<code class="language-sql">UPDATE ... SET <column1> = <value1>, <column2> = <value2>, ... WHERE <key_column> = <key_value></code>
로그인 후 복사
  1. LEFT JOIN을 사용하여 UPDATE 쿼리를 새 값이 포함된 임시 테이블 또는 하위 쿼리와 조인합니다.
<code class="language-sql">UPDATE b
LEFT JOIN a ON b.id = a.id
SET a.f1 = b.f1, a.f2 = b.f2, a.f3 = b.f3</code>
로그인 후 복사

이 예에서 테이블 b는 새 값의 소스를 나타내고 테이블 a는 대상 테이블을 나타냅니다. LEFT JOIN은 공통 열 ID를 기반으로 두 테이블의 일치하는 행을 쌍으로 만듭니다.

이 결합된 쿼리는 먼저 ID 열이 테이블 b와 일치하는 테이블 a의 기존 행을 업데이트하려고 시도합니다. 테이블 a에서 일치하는 행을 찾을 수 없으면 새 값이 새 행으로 삽입됩니다.

또는 더 쉽게 이해하기 위해 다음 쿼리 양식을 사용할 수도 있습니다.

<code class="language-sql">UPDATE main_table
RIGHT JOIN new_data ON main_table.id = new_data.id
SET
main_table.id = new_data.id,
main_table.col_1 = new_data.col_1,
main_table.col_2 = new_data.col_2</code>
로그인 후 복사

이것은 먼저 행 업데이트를 시도하고 조인이 main_table의 기존 행과 일치하지 않는 경우 새 행을 삽입하여 Upsert 동작을 에뮬레이트합니다.

위 내용은 SQL 쿼리를 사용하여 Microsoft Access에서 Upsert 작업을 어떻게 시뮬레이션할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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