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
Lepaskan: 2024-11-10 12:55:03
asal
324 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan