Heim >Datenbank >MySQL-Tutorial >Wie aktualisiere ich MySQL-Einträge mit bestimmten Werten mithilfe von CASE massenhaft?

Wie aktualisiere ich MySQL-Einträge mit bestimmten Werten mithilfe von CASE massenhaft?

Susan Sarandon
Susan SarandonOriginal
2024-11-10 12:55:03295Durchsuche

How to Mass Update MySQL Entries with Specific Values Using CASE?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn