Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini Baris Jadual SQL Berdasarkan Nama Pengguna Padanan?
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>
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!