Veröffentlicht 16. Juli 200322 j Hallo zusammen! Mal eine Bescheiden Frage, an der ich zur Zeit scheiter... Ich habe folgende MySQL Tabelle: _Feld_____Typ________Attribute__Null___Standard -------------------------------------------------------------------- _OfferID__ tinyint(2)_____________Nein__0 _Datum___varchar(10)___________Ja____NULL _Owner___tinyint(4)_____________Nein__0 _Desc ____text_________________Ja____NULL _Link_____text_________________Nein__ Und will mit dem folgenden Statement: INSERT INTO offer (OfferID,Datum,Owner,Desc,Link) VALUES ('10','10.07.2003','15','Test','test.html') Werte in diese eintragen. Jedoch funktioniert diese partout nicht. Bei einer ähnlichen Datenbank mit ähnlicher Abfrage klappt es. Was mache ich falsch? :-(
16. Juli 200322 j Was genau ist die Fehlermeldung? Kenne mich mit MySQL nicht aus, aber bist Du sicher, dass eine tinyint-Variable mit Hochkomma angegeben werden muss? Das bezweifle ich gerade sehr, denn es handelt sich doch um eine ganze Zahl, keinen Text, keine Character ... das kenne ich so nicht und wurde mir auch nie so beigebracht. ;O) Ansonsten sollte das Insert-Statement so funktionieren, von der Syntax ist es korrekt. Versuche die tinyint-Variablen mal als Zahlen anzugeben ... ansonsten poste mal die Fehlermeldung. ) Viel Erfolg! Gruss, Gnomeline P.S. Gibt es in MySQL keinen Datentyp DATE??? *staun*
16. Juli 200322 j Original geschrieben von Slayer8 Hallo zusammen! Mal eine Bescheiden Frage, an der ich zur Zeit scheiter... Ich habe folgende MySQL Tabelle: _Feld_____Typ________Attribute__Null___Standard -------------------------------------------------------------------- _OfferID__ tinyint(2)_____________Nein__0 _Datum___varchar(10)___________Ja____NULL _Owner___tinyint(4)_____________Nein__0 _Desc ____text_________________Ja____NULL _Link_____text_________________Nein__ Und will mit dem folgenden Statement: INSERT INTO offer (OfferID,Datum,Owner,Desc,Link) VALUES ('10','10.07.2003','15','Test','test.html') Werte in diese eintragen. Jedoch funktioniert diese partout nicht. Bei einer ähnlichen Datenbank mit ähnlicher Abfrage klappt es. Was mache ich falsch? :-( du könntest deinen SQL vereinfachen, da du sowieso alle spalten in deiner Tabelle füllst und diese auch in der richtigen Reihenfolge! z.B. INSERT INTO offer VALUES ('10','10.07.2003','15','Test','test.html') Aber zu deinem Problem genau kann ich ohne Fehlermeldung auch nix sagen
16. Juli 200322 j Ich bin mir ziemlich sicher, dass es an dem Tinyint in Hochkommern liegt. Vielleicht auch an der länge des Datumsfeldes, wenn MySQL noch ein Escape-Zeichen ("/0") anfügt.
16. Juli 200322 j Original geschrieben von kills du könntest deinen SQL vereinfachen, da du sowieso alle spalten in deiner Tabelle füllst und diese auch in der richtigen Reihenfolge! z.B. INSERT INTO offer VALUES ('10','10.07.2003','15','Test','test.html') Aber zu deinem Problem genau kann ich ohne Fehlermeldung auch nix sagen ..davon würde ich persönlich abraten. Sicher, es funzt, aber erweiter die Tabelle, vergiss den Select und es brät sich einen mit den Fehlermeldungen... ...zum Problem: ich würde auch auf den angesprochenen Tinyint tippen. Gruss, der Onkel
16. Juli 200322 j Die Fehlermeldung lautet: Fehler SQL-Befehl : INSERT INTO offer (OfferID,Datum,Owner,Desc,Link) VALUES ('12','123124','10','2423ewr','wetw') MySQL meldet: You have an error in your SQL syntax near 'Desc,Link) VALUES ('12','123124','10','2423ewr','wetw')' at line 1 Es lag NICHT an den Hochkommas bei Tinyint, sondern an dem Feld "Desc",ein USer (danke Reinhold) wies mich per PN daraufin. Danke euch allen!!!
17. Juli 200322 j Hmmm. Wer lesen kann ist klar im Vorteil. hab erst zu spät gesehen, das der Typ für das Datum auf varchar. Aber trotzdem sollte man an dieser Stelle für das Datum einen anderen Feldtyp verwenden, z.B date.
17. Juli 200322 j Und was genau war jetzt das Problem mit dem Feld "desc"? Weil Desc ein Teil der SQL-Syntax sein kann, oder wie? :confused: der Onkel
17. Juli 200322 j Mich würde es auch seehr interessieren, warum es mit desc ein Problem gab. Die Vermutung, dass DESC ja ein SQL-Konstrukt sein kann, könnte eine mögliche Erklärung sein, aber ich möchte Gewissheit. Wäre SUPER, wenn Du mich/uns nicht dumm sterben lässt. :D Danke schon einmal und ich bin gespannt. Gruss aus dem Norden
17. Juli 200322 j @ kinnley Ich habe nicht das Datumsformat verwendet, damit ich eine freiere Eingabe habe! Die meisten geben nunmal 10.05.2001 ein anstatt der US-Schreibweise. Das da Fehlerauftauchen wollte ich hiermit umgehen! @ HolzOnkel & Gnomeline Keine ahnung, warum es Probleme mit Desc gab, es soll wohl ein in MySQL reserviertes Wort sein. Auf jeden Fall habe ich Desc in Descr geändert und schon klappte es !
17. Juli 200322 j [bissel OT] DESC ist tatsächlich ein reserviertes Wort, damit kann man die Sortierreihenfolge absteigend festlegen (kommt von descending), z.B. ORDER BY id DESC [/bissel OT]
17. Juli 200322 j Ein Datumsfeld hätte die folgenden Vorteile. - Ein einheitliches Format - einfach zu sortieren Du musst das Datum doch ohnehin checken, bevor du es in die Datenbank schreibst. In dem Zuge kannst du es doch auch gleich umwandeln
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.