Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini Berbilang Baris dengan Nilai Berbeza dalam Satu Pertanyaan MySQL?

Bagaimana untuk Mengemas kini Berbilang Baris dengan Nilai Berbeza dalam Satu Pertanyaan MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-17 11:11:09871semak imbas

How to Update Multiple Rows with Different Values in a Single MySQL Query?

Kemas kini berbilang baris dengan nilai berbeza menggunakan satu pertanyaan MySQL

Kendalian mengemas kini berbilang baris dengan nilai berbeza dalam setiap baris dalam MySQL nampaknya rumit, tetapi ia sebenarnya sangat mudah selepas difahami. Begini cara melakukannya:

Kod contoh berikut cuba mengemas kini tiga baris dalam jadual 'table_users' berdasarkan keadaan tertentu, dengan nilai berbeza untuk medan 'cod_user' dan 'date'. Untuk ini kami akan menggunakan pernyataan 'KEMASKINI' dengan pernyataan 'KES' dan 'IN'.

Pertanyaan berikut melaksanakan kemas kini ini:

<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 = '2014-08-12'
WHERE user_role IN ('student', 'assistant', 'admin')
  AND cod_office = '17389551';</code>

Pecahan pertanyaan:

  • Pernyataan 'KEMASKINI' mula-mula menentukan nama jadual yang akan dikemas kini, dalam kes ini 'table_users'.
  • Klausa 'SET' mentakrifkan lajur yang akan dikemas kini dan nilai baharu yang sepatutnya diambil. Dalam pertanyaan ini, kami menggunakan pernyataan 'CASE' untuk menetapkan nilai yang berbeza kepada 'cod_user' berdasarkan nilai 'user_role'.
  • Klausa 'WHERE' menentukan syarat yang menentukan baris yang dikemas kini. Ia menggunakan pernyataan 'IN' untuk menyemak sama ada 'user_role' ialah salah seorang ('pelajar', 'pembantu', 'admin') dan jika 'cod_office' sepadan dengan '17389551'.

Sila ambil perhatian bahawa format tarikh yang digunakan dalam contoh tidak disyorkan. Amalan terbaik ialah menyimpan tarikh sebagai jenis tarikh asli (seperti YYYY-MM-DD).

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Berbilang Baris dengan Nilai Berbeza dalam Satu Pertanyaan MySQL?. 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