Um bestimmte Zeilen in einer MySQL-Datenbank mit der CASE WHEN-Anweisung zu aktualisieren , muss die korrekte Syntax eingehalten werden. Die bereitgestellte Abfrage, die versucht, Preise basierend auf ID-Werten zu aktualisieren, zeigt eine falsche Verwendung der CASE-Anweisung.
Um dieses Problem zu beheben, sollte die korrekte Aktualisierungsabfrage wie folgt lauten:
UPDATE ae44 SET price = CASE WHEN ID = 'AT259793380' THEN '500' WHEN ID = 'AT271729590' THEN '600' WHEN ID = 'AT275981020' THEN '700' END;
Beachten Sie in dieser korrigierten Abfrage Folgendes:
Das Aktualisieren von Zeilen mithilfe der CASE-Anweisung kann nützlich sein, wenn unterschiedliche Werte basierend auf bestimmten Bedingungen zugewiesen werden. Es ist jedoch wichtig zu beachten, dass die bereitgestellte Abfrage die Preise für alle Datensätze aktualisiert, unabhängig von ihrer ID. Wenn das Ziel darin besteht, nur die in der Abfrage genannten spezifischen IDs zu aktualisieren, kann der folgende Ansatz verwendet werden:
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 Zeilen in MySQL mithilfe von CASE für die Wertzuweisung korrekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!