Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich einen MySQL-Eintrag mit CASE für die dynamische Wertzuweisung?
So aktualisieren Sie einen Eintrag in MySQL effektiv mit CASE für einen neuen Wert
So aktualisieren Sie einen Eintrag in MySQL mit der CASE-Anweisung für einen neuen Wert, befolgen Sie diese Schritte:
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
Hinweis: Die von der Frage bereitgestellte Abfrage aktualisiert die Preise für Datensätze mit anderen IDs auf NULL. Um dies zu vermeiden:
Option 1: Geben Sie einen Standardwert an:
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
Option 2: Verwenden Sie einen JOIN:
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
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich einen MySQL-Eintrag mit CASE für die dynamische Wertzuweisung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!