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

Bagaimanakah Saya Boleh Kemas Kini Berbilang Baris MySQL dengan Nilai Berbeza dalam Satu Pertanyaan?

Patricia Arquette
Patricia Arquetteasal
2025-01-17 11:07:10534semak imbas

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

Mengemaskini Berbilang Baris MySQL dengan Cekap dengan Nilai Berbeza

Pengurusan pangkalan data selalunya memerlukan pengemaskinian berbilang baris dengan nilai unik. MySQL menawarkan penyelesaian yang cekap menggunakan pernyataan UPDATE bersama dengan ungkapan CASE.

Mengatasi Kemas Kini Bersyarat

Cabarannya terletak pada mengemas kini baris berdasarkan pelbagai syarat. Bayangkan jadual dengan peranan pengguna, ID dan kod pejabat; anda perlu mengemas kini ID pengguna mengikut peranan dan pejabat mereka.

Memanfaatkan Ungkapan KES

Ungkapan

MySQL CASE membolehkan memberikan nilai yang berbeza berdasarkan syarat. Ini dengan sempurna menangani keperluan untuk kemas kini bersyarat.

Melaksanakan Penyelesaian

Sintaks berikut mengemas kini berbilang baris dengan nilai yang berbeza berdasarkan berbilang kriteria:

<code class="language-sql">UPDATE table_name
SET column_name = (
    CASE
        WHEN condition1 THEN value1
        WHEN condition2 THEN value2
        ...
    END
),
column_name2 = value2
WHERE condition;</code>

Contoh Ilustrasi:

Mari mengemas kini lajur cod_user dan date untuk peranan pengguna yang berbeza dalam pejabat tertentu:

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

Pertimbangan Penting:

  • Kekalkan ketekalan jenis data (tarikh, nombor, dll.).
  • Kembangkan CASE ungkapan untuk mengendalikan lebih banyak keadaan mengikut keperluan.
  • Pendekatan ini memperkemas kemas kini, meningkatkan kecekapan dan integriti data.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Kemas Kini Berbilang Baris MySQL dengan Nilai Berbeza dalam Satu Pertanyaan?. 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