java - Zeile einfügen mit auto-Inkrement-Feld
Ich versuche, einfügen einer Zeile in der Tabelle mit einem auto-Inkrement-Feld, aber ich bin immer Fehler.
Die Struktur der Tabelle ist:
- id:auto-Inkrement -
- Ebene:text
- Konzept:text
.
String sql = "INSERT INTO Contents (level,concept) VALUES ('"+string_value1+"','"+string_value2+"')";
pst = con.prepareStatement(sql);
pst.execute();
w3c habe ich gelesen, dass das einfügen eines neuen Datensatzes in die Tabelle, die wir nicht haben, um geben Sie einen Wert für "auto-increment" - Spalte (ein einzigartiger Wert wird automatisch Hinzugefügt).
Was mache ich falsch?
InformationsquelleAutor Christos Baziotis | 2012-05-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich es gefunden.
Der Grund, ich war immer ein Fehler, dass ich das Wort "Niveau" als ein Feld name.
Anscheinend ist es ein reserviertes Wort ist. Ich habe es geändert und mein code funktioniert.
Danke Euch allen für Eure Hilfe.
-Sajmon, vielen Dank für die sql-injection-Tipp!
InformationsquelleAutor Christos Baziotis
Hier ist, was Sie tun müssen:
Da ich nicht sehen kann, was andere Spielereien Ihr code ist bis, hier ist ein komplettes Beispiel, dass Sie sollten in der Lage sein leicht ändern, für Ihre Datenbank und die Tabelle:
Den Fehler korrigiert.
übrigens habe ich versucht, dieses
pst = con.prepareStatement(query); pst.setString(1, levelValue); pst.setString(2, conceptValue); pst.execute();
und es hat nicht funktioniert.Mach es so wie ich es dir gesagt.
funktioniert immer noch nicht... 🙁
InformationsquelleAutor duffymo
Du hast Recht, wir sollten nicht legen Sie die Identity-Spalte. Kannst du die Fehlermeldung die Sie bekommen .
InformationsquelleAutor Swathi