ホームページ >データベース >mysql チュートリアル >SQL を使用して Microsoft Access でアップサートをシミュレートするにはどうすればよいですか?
Microsoft Access で Upsert 操作をシミュレートします
通常、テーブルへの行の挿入と更新は 2 つの独立したプロセスです。しかし、1 つのクエリで両方の操作を実行したい場合はどうすればよいでしょうか?この操作は通常「アップサート」と呼ばれます。
Microsoft Access 2000 以降では、LEFT JOIN を含む UPDATE クエリを使用して Upsert 操作をシミュレートできます。構文は次のとおりです:
<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>
このクエリ内:
ID b.id の行がテーブル "a" に存在する場合、その行はテーブル "b" の値で更新されます。それ以外の場合は、新しい行がテーブル "a" に挿入されます。
例:
次の形式を考えてみましょう:
<code>| 表 "a" | 表 "b" | |---|---| | ID | Field1 | ID | Field1 | | 1 | ValueA1 | 1 | ValueB1 | | 2 | ValueA2 | 2 | ValueB2 | | 3 | ValueA3 | 3 | ValueB3 | | | | 4 | ValueB4 |</code>
上記の UPDATE クエリを実行すると、次の更新されたテーブル "a" が生成されます:
<code>| ID | Field1 | |---|---| | 1 | ValueB1 | | 2 | ValueB2 | | 3 | ValueB3 | | 4 | ValueB4 | **(ID = 4 的新行已插入)**</code>
以上がSQL を使用して Microsoft Access でアップサートをシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。