Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini Baris Jadual SQL Berdasarkan Nama Pengguna Padanan?

Bagaimana untuk Mengemas kini Baris Jadual SQL Berdasarkan Nama Pengguna Padanan?

DDD
Lepaskan: 2025-01-15 08:48:17
asal
390 orang telah melayarinya

How to Update SQL Table Rows Based on Matching Usernames?

Kemas kini nilai baris dalam jadual berdasarkan nama pengguna yang sepadan

S: Kemas kini nilai jadual

Dalam Pangkalan Data SQL, anda mempunyai dua jadual, table_a dan table_b, kedua-duanya mempunyai lajur biasa yang dipanggil nama_pengguna. Anda ingin menyalin lajur tertentu (dinamakan lajur_b_1 dan lajur_b_2) dalam jadual_b ke lajur yang sepadan (lajur_a_1 dan lajur_a_2) dalam jadual_a berdasarkan nilai nama_pengguna yang sepadan. Bagaimanakah saya boleh mencapai ini menggunakan pernyataan SQL?

Jawapan: Penyelesaian

Jika indeks yang sesuai ada, anda boleh menggunakan kenyataan KEMASKINI berikut:

<code class="language-sql">UPDATE table_a
SET
  column_a_1 = (SELECT table_b.column_b_1 
                    FROM table_b
                    WHERE table_b.user_name = table_a.user_name),
  column_a_2 = (SELECT table_b.column_b_2
                    FROM table_b
                    WHERE table_b.user_name = table_a.user_name)
WHERE
  EXISTS (
    SELECT *
    FROM table_b
    WHERE table_b.user_name = table_a.user_name
  );</code>
Salin selepas log masuk

Nota: Penyata KEMASKINI ini menggunakan subkueri untuk mendapatkan nilai lajur daripada table_b yang sepadan dengan setiap baris dalam table_a yang mempunyai nama_pengguna yang sepadan .

Jika prestasi membimbangkan, pertimbangkan untuk menggunakan operasi SELECT dan JOIN untuk membina jadual sementara untuk menyimpan baris yang diubah suai. Anda kemudiannya boleh memadamkan data sedia ada daripada table_a dan mengisinya semula daripada jadual sementara.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Baris Jadual SQL Berdasarkan Nama Pengguna Padanan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan