Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Kemas Kini Massal Entri MySQL dengan Nilai Tertentu Menggunakan CASE?

Bagaimana untuk Kemas Kini Massal Entri MySQL dengan Nilai Tertentu Menggunakan CASE?

Susan Sarandon
Susan Sarandonasal
2024-11-10 12:55:03290semak imbas

How to Mass Update MySQL Entries with Specific Values Using CASE?

Pengemaskinian Massal Entri MySQL dengan CASE untuk Nilai Baharu

Dalam MySQL, mengemas kini entri menggunakan ungkapan CASE membolehkan anda menetapkan nilai yang berbeza kepada lajur berdasarkan keadaan tertentu. Untuk membetulkan pertanyaan yang diberikan, alih keluar koma selepas kata kunci yang ditetapkan dan formatkan ungkapan CASE seperti berikut:

UPDATE ae44
SET price = CASE
    WHEN ID = 'AT259793380' THEN
        '500'
    WHEN ID = 'AT271729590' THEN
        '600'
    WHEN ID = 'AT275981020' THEN
        '700'
END

Pertanyaan ini akan mengemas kini harga yang sepadan untuk ID yang ditentukan. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa ia juga akan menetapkan nilai harga kepada NULL untuk sebarang rekod dengan ID yang tidak disertakan dalam ungkapan CASE.

Jika anda hanya mahu mengemas kini harga untuk ID tertentu dalam anda senarai, gunakan pertanyaan seperti ini:

UPDATE ae44
JOIN (
    SELECT 'AT259793380' AS oldval, '500' AS newval
    UNION ALL
    SELECT 'AT271729590' AS oldval, '600' AS newval
    UNION ALL
    SELECT 'AT275981020' AS oldval, '700' AS newval
) q
ON ae44.id = q.oldval
SET price = q.newval

Pertanyaan ini menggunakan subkueri untuk mencipta jadual dengan nilai lama dan baharu untuk ID, kemudian ia menyertai jadual ini dengan jadual ae44 dan melakukan kemas kini sahaja pada rekod yang sepadan.

Atas ialah kandungan terperinci Bagaimana untuk Kemas Kini Massal Entri MySQL dengan Nilai Tertentu Menggunakan CASE?. 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