Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie aktualisiere ich einen MySQL-Eintrag mit CASE für die dynamische Wertzuweisung?

Barbara Streisand
Freigeben: 2024-11-11 03:34:03
Original
749 Leute haben es durchsucht

How to Update a MySQL Entry Using CASE for Dynamic Value Assignment?

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:

  • Syntax:
UPDATE table_name
SET column_name = CASE
    WHEN condition1 THEN value1
    WHEN condition2 THEN value2
    ...
    ELSE valueN
END
Nach dem Login kopieren
  • Beispiel:
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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage