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 중국어 웹사이트의 기타 관련 기사를 참조하세요!