Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Kemas Kini Berbilang Baris MySQL dengan Nilai Berbeza Menggunakan Pertanyaan Tunggal?

Bagaimanakah Saya Boleh Kemas Kini Berbilang Baris MySQL dengan Nilai Berbeza Menggunakan Pertanyaan Tunggal?

Linda Hamilton
Linda Hamiltonasal
2025-01-17 11:01:09916semak imbas

How Can I Update Multiple MySQL Rows with Different Values Using a Single Query?

Mengemaskini Berbilang Baris MySQL dengan Pelbagai Nilai dengan Cekap

Panduan ini menangani cabaran biasa untuk mengemas kini berbilang baris pangkalan data dengan nilai unik menggunakan satu pertanyaan MySQL. Walaupun beberapa kaedah wujud, pendekatan ini menawarkan kejelasan dan kecekapan.

Pendekatan Lebih Jelas Menggunakan Penyata KES

Kaedah konvensional, selalunya melibatkan pernyataan IF() bersarang, menjadi rumit dengan pelbagai syarat. Alternatif unggul memanfaatkan kuasa CASE pernyataan:

<code class="language-sql">UPDATE table_users
SET cod_user = (CASE WHEN user_role = 'student' THEN '622057'
                     WHEN user_role = 'assistant' THEN '2913659'
                     WHEN user_role = 'admin' THEN '6160230'
                END),
    date = '12082014'
WHERE user_role IN ('student', 'assistant', 'admin') AND
      cod_office = '17389551';</code>

Pertanyaan diperkemas ini menggunakan CASE untuk menetapkan nilai cod_user secara dinamik berdasarkan user_role, sambil pada masa yang sama menetapkan date kepada nilai yang konsisten untuk semua baris yang sepadan.

Pertimbangan Utama

  • Penyata KES: Ini menyediakan cara ringkas untuk mengendalikan berbilang tugasan bersyarat dalam satu pertanyaan.
  • WHERE Klausa: Ini menyasarkan baris dengan tepat untuk dikemas kini, memastikan hanya rekod yang berkaitan diubah suai.
  • Integriti Data: Untuk pengurusan data yang optimum, simpan tarikh menggunakan jenis data tarikh/masa asli MySQL.

Pendekatan gabungan CASE dan WHERE ini menawarkan penyelesaian berstruktur dan mudah difahami untuk mengemas kini berbilang baris dengan nilai yang pelbagai dalam MySQL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Kemas Kini Berbilang Baris MySQL dengan Nilai Berbeza Menggunakan Pertanyaan Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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