Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mensimulasikan Upsert dalam Microsoft Access Menggunakan UPDATE dan LEFT JOIN?

Bagaimana untuk Mensimulasikan Upsert dalam Microsoft Access Menggunakan UPDATE dan LEFT JOIN?

Linda Hamilton
Linda Hamiltonasal
2025-01-19 20:12:09665semak imbas

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

Sisipkan atau Kemas Kini (Upsert) dalam Microsoft Access

Soalan:

Dalam Microsoft Access 2000, anda ingin melakukan operasi yang mengemas kini baris jika wujud dan memasukkan baris baharu jika tidak wujud.

Penyelesaian:

Gunakan KEMASKINI dan LEFT JOIN untuk mensimulasikan Upsert

Anda boleh mensimulasikan upsert dalam Access menggunakan pertanyaan KEMASKINI dengan LEFT JOIN. Pertanyaan menggunakan LEFT JOIN untuk menyemak sama ada terdapat baris sedia ada dan kemudian mengemas kini atau memasukkan dengan sewajarnya:

<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>

Dalam pertanyaan ini, "b" mewakili data baharu dan "a" mewakili jadual sedia ada. Jika terdapat baris yang sepadan dalam "a", pertanyaan mengemas kini nilai dalam "a" dengan nilai yang sepadan dalam "b". Jika tidak, pertanyaan memasukkan baris baharu ke dalam "a" menggunakan nilai daripada "b".

Contoh ringkas:

Untuk kejelasan, berikut ialah versi ringkas pertanyaan:

<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>

Pertanyaan ini akan mengemas kini atau memasukkan baris dalam "jadual_utama" berdasarkan nilai dalam "data_baru". Lajur "id" ialah keadaan yang sepadan dan nilai yang sedang dikemas kini atau dimasukkan ialah "col_1" dan "col_2".

Atas ialah kandungan terperinci Bagaimana untuk Mensimulasikan Upsert dalam Microsoft Access Menggunakan UPDATE dan LEFT JOIN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn