집 >데이터 베이스 >MySQL 튜토리얼 >SQL 쿼리를 사용하여 Microsoft Access에서 Upsert 작업을 어떻게 시뮬레이션할 수 있습니까?
시뮬레이션된 쿼리를 사용하여 Microsoft Access에서 Upsert 작업 수행
Microsoft Access에서 Upsert 작업(존재하는 경우 행 업데이트, 존재하지 않는 경우 행 삽입)은 LEFT JOIN과 결합된 UPDATE 쿼리를 사용하여 시뮬레이션할 수 있습니다. 이 접근 방식을 사용하면 단일 쿼리로 두 경우를 모두 처리할 수 있습니다.
Upsert 작업을 수행하려면 다음 단계를 따르세요.
<code class="language-sql">UPDATE ... SET <column1> = <value1>, <column2> = <value2>, ... WHERE <key_column> = <key_value></code>
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!