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!