Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich MySQL-Einträge mit bestimmten Werten mithilfe von CASE massenhaft?
Massenaktualisierung von MySQL-Einträgen mit CASE für neue Werte
In MySQL können Sie durch Aktualisieren eines Eintrags mithilfe des CASE-Ausdrucks einen anderen Wert zuweisen zu einer Spalte basierend auf einer bestimmten Bedingung. Um die bereitgestellte Abfrage zu korrigieren, entfernen Sie das Komma nach dem Schlüsselwort set und formatieren Sie den CASE-Ausdruck wie folgt:
UPDATE ae44 SET price = CASE WHEN ID = 'AT259793380' THEN '500' WHEN ID = 'AT271729590' THEN '600' WHEN ID = 'AT275981020' THEN '700' END
Diese Abfrage aktualisiert die entsprechenden Preise für die angegebenen IDs. Es ist jedoch wichtig zu beachten, dass der Preiswert auch für alle Datensätze mit IDs, die nicht im CASE-Ausdruck enthalten sind, auf NULL gesetzt wird.
Wenn Sie nur die Preise für die spezifischen IDs in Ihrem aktualisieren möchten list, verwenden Sie eine Abfrage wie diese:
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
Diese Abfrage verwendet eine Unterabfrage, um eine Tabelle mit den alten und neuen Werten für die IDs zu erstellen, und verknüpft diese Tabelle dann mit der ae44-Tabelle und führt die Aktualisierung nur für die übereinstimmenden Datensätze durch.
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich MySQL-Einträge mit bestimmten Werten mithilfe von CASE massenhaft?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!