INSERT INTO Problemchen...
Peter
- php
0 Susanne0 Peter0 Sven Rautenberg0 Peter
0 Sven Rautenberg0 Peter
Hallo!
Ich habe ein kleines Problem mit dem einfühgen neuer Werte in mein MySQL Tabellenfeld.
Ich mache es im Moment so:
$sql = "INSERT INTO uk\_$wert2
( Artikel
, Kategorie
, $wert
)VALUES ('','','$newuk')";
funktioniert auch. Allerdings hätte ich gern, das ich ihm sage:
fühge in das feld ein dessen Name $wert ist.
So wie´s im Moment ist, muss ich eine Reihenfolge festlegen.
Das muss ich umgehen...
Kann mir jemand helfen??
Danke
Peter
Hi,
$sql = "INSERT INTO
uk\_$wert2
(Artikel
,Kategorie
,$wert
)VALUES ('','','$newuk')";
Allerdings hätte ich gern, das ich ihm sage:
fühge in das feld ein dessen Name $wert ist.
Also, ich würde *probieren* an das INSERT-Statement noch eine WHERE-Clause anzufügen, frei nach dem Motto
"INSERT INTO..... WHERE id = id"
(Vorausgesetzt, Du hast einen Primärschlüssel....)
Dann sollte ja eigentlich genau der eine Datensatz gefunden werden?
CU
Susanne
Hallo Susanne,
"INSERT INTO..... WHERE id = id"
(Vorausgesetzt, Du hast einen Primärschlüssel....)
Wie schreibe ich den das genau ???
$sql = "INSERT INTO uk\_$wert2
WHERE ( $wert
)VALUES ('$newuk')";
so funktioniert es leider nicht... ;(
Grüsse
Moin!
Also, ich würde *probieren* an das INSERT-Statement noch eine WHERE-Clause anzufügen, frei nach dem Motto
"INSERT INTO..... WHERE id = id"
(Vorausgesetzt, Du hast einen Primärschlüssel....)
INSERT fügt einen neuen Datensatz hinzu. Das bedeutet: Alle Felder sind vorher nicht vorhanden - folglich kann man also nicht nach einem Feld suchen, welches einen bestimmten Inhalt hat.
WHERE geht bei UPDATE - und nur dort macht es Sinn.
- Sven Rautenberg
Vielen Dank.
Hat jemand eine Idee wie man das angehen kann??
Danke Peter
Moin!
Hallo!
Ich habe ein kleines Problem mit dem einfühgen neuer Werte in mein MySQL Tabellenfeld.
Ich mache es im Moment so:$sql = "INSERT INTO
uk\_$wert2
(Artikel
,Kategorie
,$wert
)VALUES ('','','$newuk')";funktioniert auch. Allerdings hätte ich gern, das ich ihm sage:
fühge in das feld ein dessen Name $wert ist.
Machst du doch auch. Oder was geht bei deinem INSERT nicht?
Außerdem wäre ganz gut, wenn du vielleicht noch ein oder zwei Worte zu deinem "Tabellenfeld" verlieren könntest. Mir scheint eine Datenstruktur, die die Daten in den Tabellennamen ablegt ('uk_$wert2') nämlich ziemlich suspekt. Man kann ausnahmslos alle Datenbank-Aufgaben eigentlich immer mit fest definierten Tabellen lösen.
So wie´s im Moment ist, muss ich eine Reihenfolge festlegen.
Bei INSERT musst du immer eine Reihenfolge festlegen, damit die Datenbank weiß, welcher VALUE in welche Spalte eingefügt werden soll. Du musst nicht alle Spalten angeben, die die Tabelle besitzt. Gibts du nichts an, wird der Standardwert eingefügt, je nach Definition der Tabelle beispielsweise der Leerstring "", der Wert 0 oder auch die spezielle Datenbankkonstante "NULL" - oder der Wert, den du als Standard definiert hast.
- Sven Rautenberg
Hallo,
danke für deine Antwort.
So wie ich es jetzt habe funktioniert es ja auch, ich möchte aber die Reihenfolge umgehen, da ich einen Adminbereich mache und ich dem User hier alle Möglichkeiten geben möchte (Kategorien einfügen usw.).
Hier ist mir das wichtig. Gibtr es eine Möglichkeit alle Felder zählen zu lassen und durchen den Abgleich des Feldnamens/Variablennamens eine Zählung zu machen und somit die Sache zu bewältigen??
Vielen Dank
Moin!
So wie ich es jetzt habe funktioniert es ja auch, ich möchte aber die Reihenfolge umgehen, da ich einen Adminbereich mache und ich dem User hier alle Möglichkeiten geben möchte (Kategorien einfügen usw.).
Ich verstehe nicht, was du machen willst. Kannst du es noch mal etwas ausführlicher erklären. Bedenke dabei: Ich weiß nichts von dem, was du bereits getan hast oder noch tun möchtest, kann es auch nicht raten oder Gedanken lesen.
Nur als grundsätzliche Bemerkung zu Datenbanken:
Entweder dein Datenmodell ist feststehend - dann legst du alle erforderlichen Tabellen an, und im laufenden Betrieb werden dann nur noch Datensätze hinzugefügt.
Oder dein Datenmodell ist flexibel - dann ist es deine Aufgabe, das Datenmodell feststehend zu machen, und dafür entsprechend neue Tabellen mit den passenden Inhalten und Verknüpfungen anzulegen. Ich glaube kaum, dass du den Usern wirklich _alle_ Möglichkeiten geben willst - in Wirklichkeit willst du ihnen "nur" eine Reihe von vordefinierten Möglichkeiten geben. Und anhand dieser Definitionen kann man dann die Datenbank festzurren.
- Sven Rautenberg