Gunakan pertanyaan simulasi untuk melaksanakan operasi Upsert dalam Microsoft Access
Dalam Microsoft Access, operasi Upsert (kemas kini baris jika wujud, masukkan baris jika tidak wujud) boleh disimulasikan menggunakan pertanyaan KEMASKINI yang digabungkan dengan LEFT JOIN. Pendekatan ini membenarkan satu pertanyaan untuk mengendalikan kedua-dua kes.
Untuk melakukan operasi Upsert, ikut langkah berikut:
<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>
Dalam contoh ini, jadual b mewakili sumber nilai baharu dan jadual a mewakili jadual sasaran. LEFT JOIN memasangkan baris yang sepadan daripada dua jadual berdasarkan id lajur biasa.
Pertanyaan gabungan ini mula-mula akan cuba mengemas kini baris sedia ada dalam jadual a yang lajur idnya sepadan dengan jadual b. Jika tiada baris yang sepadan ditemui dalam jadual a, nilai baharu akan dimasukkan sebagai baris baharu.
Sebagai alternatif, anda boleh menggunakan borang pertanyaan berikut untuk pemahaman yang lebih mudah:
<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>
Ini mencontohi tingkah laku Upsert dengan cuba mengemas kini baris dan memasukkan baris baharu terlebih dahulu jika gabungan tidak sepadan dengan mana-mana baris sedia ada dalam main_table.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan Operasi Upsert dalam Microsoft Access Menggunakan Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!