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!