使用模擬查詢在Microsoft Access中執行Upsert操作
在Microsoft Access中,Upsert操作(如果存在則更新行,如果不存在則插入行)可以使用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將來自兩個表的匹配行配對。
此組合查詢將首先嘗試更新表a中id列與表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>
這透過首先嘗試更新行並在連接與main_table中任何現有行不匹配時插入新行來模擬Upsert行為。
以上是如何使用 SQL 查詢在 Microsoft Access 中模擬更新插入操作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!