Heim > Datenbank > MySQL-Tutorial > Wie aktualisiere ich Zeilen in MySQL mithilfe von CASE für die Wertzuweisung korrekt?

Wie aktualisiere ich Zeilen in MySQL mithilfe von CASE für die Wertzuweisung korrekt?

Mary-Kate Olsen
Freigeben: 2024-11-14 10:30:02
Original
232 Leute haben es durchsucht

How to Correctly Update Rows in MySQL Using CASE for Value Assignment?

Aktualisieren von Zeilen in MySQL mit CASE für die Wertzuweisung

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

Beachten Sie in dieser korrigierten Abfrage Folgendes:

  • Die CASE WHEN-Anweisung ist ordnungsgemäß mit einzelnen WHEN-Klauseln strukturiert.
  • Die Zuweisung des neuen Werts erfolgt mithilfe der :=-Syntax.
  • Die Abfrage endet mit einem Semikolon (;).

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

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!

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