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
Lepaskan: 2025-01-19 20:12:09
asal
642 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan