ホームページ >データベース >mysql チュートリアル >SQL クエリを使用して Microsoft Access で Upsert 操作をシミュレートするにはどうすればよいですか?
シミュレートされたクエリを使用して Microsoft Access で Upsert 操作を実行します
Microsoft Access では、UPDATE クエリと LEFT JOIN を組み合わせて、アップサート操作 (存在する場合は行を更新、存在しない場合は行を挿入) をシミュレートできます。このアプローチにより、単一のクエリで両方のケースを処理できるようになります。
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 に基づいて 2 つのテーブルの一致する行をペアにします。
この結合クエリは、まずテーブル b に一致する id 列を持つテーブル 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 中国語 Web サイトの他の関連記事を参照してください。