Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

REPLACE (MySQL)





Frage

Hallo ich habe sehr viele spalten in einer tabelle, die ich durch ein Formular ändern möchte. Wenn ich einen neuen Eintrag erstellen würde, sähe es so aus: INSERT INTO table (spalte,spalte2,spalte3,spalte4) values(´$spalte´, $spalte2´, $spalte3´, $spalte4´,) Ich möchte jetzt gleichzeitug alle 4 Spalten des eintrags nr =´27´ in der tabelle ´table´ geändert haben, aber irgendwie funktioniert das nicht. Hat da jemand eine Idee?

Antwort 1 von Nessus

hi,

update???

Nessus

Antwort 2 von mich_225478

Hallo

ich habe sehr viele spalten in einer tabelle, die ich durch ein Formular ändern möchte.

Wenn ich einen neuen Eintrag erstellen würde, sähe es so aus:

INSERT INTO table (spalte,spalte2,spalte3,spalte4) values(´$spalte´, $spalte2´, $spalte3´, $spalte4´,)

Ich möchte jetzt gleichzeitug alle 4 Spalten des eintrags nr =´27´ in der tabelle ´table´ geändert haben, aber irgendwie funktioniert das nicht.

Hat da jemand eine Idee?

+++

Jau.
Willst Du alle SPALTEN ändern oder alle ZEILEN?
Alle Datensätze, oder über die Datensätze hinweg jeweils nur das EINE Feld aller Datensätze?

Deiner Beschreibung nach willst Du nämlich alle Felder im Datensatz geändert haben, bei denen 1 Feld den Wert ´27´ hat.

Damit wir abolute Klarheit haben: Ich gehe also davon aus, dass Du eine Tabelle hast mit folgendem Aufbau..

CREATE TABLE `Beispieltabelle`
(`Feld-ID` TINYINT NOT NULL AUTO_INCREMENT ,
`Datenfeld1` VARCHAR( 20 ) NOT NULL ,
`Datenfeld2` VARCHAR( 20 ) NOT NULL ,
`Datenfeld3` VARCHAR( 20 ) NOT NULL ,
PRIMARY KEY ( `Feld-ID` )
);

Die Datensätze werden aufgrund des Feldes `Feld-ID` eindeutig identifiziert. Nehmen wir weiter an, die Tabelle enthält die Einträge:

INSERT INTO `Beispieltabelle`
( `Feld-ID` , `Datenfeld1` , `Datenfeld2` , `Datenfeld3` )
VALUES
( ´´, ´Hund´, ´Katze´, ´Maus´ );

INSERT INTO `Beispieltabelle`
( `Feld-ID` , `Datenfeld1` , `Datenfeld2` , `Datenfeld3` )
VALUES
( ´´, ´Apfel´, ´Birne´, ´Banane´ );


..dann haben wir 2 Möglichkeiten, die Datensätze zu verändern:

a) Wir greifen über die Feld-ID auf den Datensatz zu:

UPDATE `Beispieltabelle`
SET
`Datenfeld1` = ´Spinne´,
`Datenfeld2` = ´Mücke´,
`Datenfeld3` = ´Biene´
WHERE
`Feld-ID` =1;

b)

UPDATE `Beispieltabelle`
SET
`Datenfeld1` = ´Audi´,
`Datenfeld2` = ´Mercedes´,
`Datenfeld3` = ´Skoda´
WHERE
`Datenfeld1` = ´Apfel´


Möglicheit b) ist riskant !!!
Wenn es mehrere Datensätze gibt, die den Wert ´Apfel´ enthalten, werden alle (!) Datensätze geändert.


Dein Problem ist wahrscheinlich die richtige Datenbankstruktur.

Bitte um Feedback für diesen Beitrag!