"update" mit "where" über mehrere felder in einem statement
Hi
Ich habe eine grundlegende Frage zu "update" und "where". Und zwar habe ich aus PHP ein Array erzeugt, welches ich nun in mehrere Zeilen einer Tabelle einfügen möchte. Dabei möchte ich jeweils den Wert eines Array-Keys in der Zeile meiner DB updaten, die dem Array-Key entspricht, und zwar alle keys in einer Abfrage...
Beispiel (so klappt's bisher):
UPDATE tabelle1 SET spaltenwert= 'A' WHERE spaltennummer= '1';
UPDATE tabelle1 SET spaltenwert= 'B' WHERE spaltennummer= '2';
UPDATE tabelle1 SET spaltenwert= 'C' WHERE spaltennummer= '3';
so wie oben beschrieben, ist es kein Problem jeden Datensatz einzeln über ein eigenes statement zu ändern.
Nun möchte ich aber gerne aus Performance-Gründen nur ein einziges Statement ausführen, welches mir alle Felder meiner Tabelle upgradet, jedoch mit unterschiedlichen Werten in den jeweiligen Zeilen.
Das müsste ungefähr so aussehen (kenne korrekte Syntax leider nicht!):
UPDATE tabelle1 SET spaltenwert= 'A,B,C' WHERE spaltennummer= '1,2,3';
oder so:
UPDATE tabelle1 SET where-klausel/spaltenwert= '1->A,2->B,3->C';
Kann mir da jemand weiterhelfen? Ist so eine "Verknüpfung" von mehreren Where-Klauseln auf mehrere Zeilen innerhalb einer Tabelle überhaupt möglich?
Evtl. ist mein Anliegen eine simple Standardfunktion, dann fehlt mir einfach der Denkanstoss oder das entscheidende Stichwort um weiterzukommen und die entsprechende Doku zu finden... Danke schon mal an alle für die Hilfe!
DocT
|