>데이터 베이스 >MySQL 튜토리얼 >UPDATE 및 LEFT JOIN을 사용하여 Microsoft Access에서 Upsert를 시뮬레이션하는 방법은 무엇입니까?

UPDATE 및 LEFT JOIN을 사용하여 Microsoft Access에서 Upsert를 시뮬레이션하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-19 20:12:09597검색

How to Simulate an Upsert in Microsoft Access Using UPDATE and LEFT JOIN?

Microsoft Access에서 삽입 또는 업데이트(Upsert)

질문:

Microsoft Access 2000에서는 행이 있으면 업데이트하고, 없으면 새 행을 삽입하는 작업을 수행하려고 합니다.

해결책:

UPDATE 및 LEFT JOIN을 사용하여 Upsert 시뮬레이션

LEFT JOIN이 포함된 UPDATE 쿼리를 사용하여 Access에서 upsert를 시뮬레이션할 수 있습니다. 쿼리는 LEFT JOIN을 사용하여 기존 행이 있는지 확인한 다음 그에 따라 업데이트하거나 삽입합니다.

<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"는 기존 테이블을 나타냅니다. "a"에 일치하는 행이 있는 경우 쿼리는 "a"의 값을 "b"의 해당 값으로 업데이트합니다. 그렇지 않으면 쿼리는 "b"의 값을 사용하여 "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>

이 쿼리는 "new_data"의 값을 기반으로 "main_table"의 행을 업데이트하거나 삽입합니다. "id" 컬럼은 일치 조건이며, 업데이트 또는 삽입되는 값은 "col_1", "col_2"이다.

위 내용은 UPDATE 및 LEFT JOIN을 사용하여 Microsoft Access에서 Upsert를 시뮬레이션하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.