Rumah > Artikel > pangkalan data > Bagaimana untuk Mengemas kini Entri MySQL Menggunakan CASE untuk Tugasan Nilai Dinamik?
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:
UPDATE table_name SET column_name = CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ... ELSE valueN END
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
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
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
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!