Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini Entri MySQL Menggunakan CASE untuk Tugasan Nilai Dinamik?

Bagaimana untuk Mengemas kini Entri MySQL Menggunakan CASE untuk Tugasan Nilai Dinamik?

Barbara Streisand
Lepaskan: 2024-11-11 03:34:03
asal
810 orang telah melayarinya

How to Update a MySQL Entry Using CASE for Dynamic Value Assignment?

Cara Mengemas kini Entri dalam MySQL Dengan Berkesan Menggunakan CASE untuk Nilai Baharu

Untuk mengemas kini entri dalam MySQL menggunakan pernyataan CASE untuk yang baharu nilai, ikut langkah berikut:

  • Sintaks:
UPDATE table_name
SET column_name = CASE
    WHEN condition1 THEN value1
    WHEN condition2 THEN value2
    ...
    ELSE valueN
END
Salin selepas log masuk
  • Contoh:
UPDATE ae44
SET price = CASE
    WHEN ID = 'AT259793380' THEN '500'
    WHEN ID = 'AT271729590' THEN '600'
    WHEN ID = 'AT275981020' THEN '700'
    ELSE NULL    -- Optional: Set values for the remaining matching ID values
END
Salin selepas log masuk

Nota: Pertanyaan yang diberikan oleh soalan mengemas kini harga untuk rekod dengan ID lain kepada NULL. Untuk mengelakkan ini:

Pilihan 1: Tentukan Nilai Lalai:

UPDATE ae44
SET price = CASE
    WHEN ID IN ('AT259793380', 'AT271729590', 'AT275981020') THEN
        CASE
            WHEN ID = 'AT259793380' THEN '500'
            WHEN ID = 'AT271729590' THEN '600'
            WHEN ID = 'AT275981020' THEN '700'
        END
    ELSE
        price
    END
Salin selepas log masuk

Pilihan 2: Gunakan SERTAI:

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

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Entri MySQL Menggunakan CASE untuk Tugasan Nilai Dinamik?. 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