Tom: Mehrere Datensätze auf einmal ändern

Beitrag lesen

Hello,

Habe ein Formular gemacht das tabellarisch aufgebaut ist und den Inhalt aus einer mySQL Tabelle holt. Man kann darin gewisse Daten ändern. Ich möchte nun diese Änderungen auf EINMAL wieder in die DB speichern, d.h. der Datensatz 1 soll den z.b. den Wert X aus dem Formular bekommen und der Datensatz 2 den Wert Q, etc.

Wie kriege ich das hin?

Dafür gibt es das REPLACE-Kommando.

Replace into ADRESSE (ID_ADRESSE, VORNAME, NACHNAME )
 values(16,'Paul','Pille'),(12,'Rosalie','Rotkäppchen');

Leider sind die Beschreibungen, die ich dazu fand, sehr dürftig.
Was ich bisher aber verifiziert habe ist:

REPLACE arbeitet prinzipiell wie INSERT.
Wenn nun aber ein Wert in der ID_ADRESSE ( PRIMARY UNIQUE KEY) bereits vorhanden ist, wird der vorhandene Datensatz gegen den neuen ausgetauscht.

Nun wäre noch auszuprobieren, wie sich das System verhält, wenn es noch eine weitere UNIQUE KEY Spalte gibt, und man versucht, in diesem Feld eine Doublette einzufügen und die entsprechende ID _nicht_ in der Tabelle vorhanden ist.

Wird dann dieser Datensatz auch ausgetauscht? Das wäre bestimmt nicht erwünscht, wenn eine falsche ID angesprochen wird...

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau