Fehlermeldung Syntax bei PHPmyadmin(MySql)
Jan
- datenbank
Guten Morgen,
Ich habe angefangen mich mit MySql usw. zu beschäftigen... Nun kommt aber schon beim anlegen einer Tabelle folgende SQL Fehlermeldung:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(1000) NOT NULL, Datum
VARCHAR(70) NOT NULL, Datumsort
INT(
Was bedeutet das? Und kann mir jemand einen Tip geben wie ich den Fehler beseitigen kann?
Danke Jan
Hai,
bist ja schon früh aktiv. Was hälst du davon, das Statement mal zu posten?
Dann könnte Dir evtl. geholfen werden.
Uhfe
Hier?
-- Host: localhost
-- Erstellungszeit: 09. Mai 2005 um 20:33
-- Server Version: 4.1.10
-- PHP-Version: 5.0.4
guestbook
-- --------------------------------------------------------
eintrag
CREATE TABLE eintrag
(
ID
int(11) NOT NULL auto_increment,
Name
varchar(50) NOT NULL default '',
Email
varchar(100) NOT NULL default '',
http
varchar(100) NOT NULL default '',
Nachricht
text NOT NULL,
Datum
varchar(70) NOT NULL default '',
Datumsort
int(11) NOT NULL default '0',
PRIMARY KEY (ID
)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=26 ;
eintrag
CREATE TABLE eintrag
(
ID
int(11) NOT NULL auto_increment,
Name
varchar(50) NOT NULL default '',
Email
varchar(100) NOT NULL default '',
http
varchar(100) NOT NULL default '',
Nachricht
text NOT NULL,
Datum
varchar(70) NOT NULL default '',
Datumsort
int(11) NOT NULL default '0',
PRIMARY KEY (ID
)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=26 ;
Also bei mir läuft der Befehl tadelos durch.
Struppi.
Dann scheine ich zu doof zu sein ;-)
oder
mit meinem phpmyadmin stimmt was nicht....
ich tippe mal auf letzteres!
Danke schon mal
Jan
Hai,
vielleicht solltest du dein Urteil nochmal überdenken. Mudguard hat dir doch schon geschrieben woran es vermutlich liegt.
Bei Text ist keine Längenbegrenzung möglich. Die Begrenzung besteht in der Maximallänge des jeweiligen Texttyps. Bei Text also 2^16-1 Zeichen.
Gruß
Uhfe
Dann scheine ich zu doof zu sein ;-)
oder
mit meinem phpmyadmin stimmt was nicht....
ich tippe mal auf letzteres!
Danke schon mal
Jan
Hi,
Aus Deinem ersten Post:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(1000) NOT NULL,
Datum
VARCHAR(70) NOT NULL,Datumsort
INT(
Aus Deinem letzten Post:
CREATE TABLE
eintrag
(
ID
int(11) NOT NULL auto_increment,
Name
varchar(50) NOT NULL default '',
http
varchar(100) NOT NULL default '',
Nachricht
text NOT NULL,
Datum
varchar(70) NOT NULL default '',
Datumsort
int(11) NOT NULL default '0',
PRIMARY KEY (ID
)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=26 ;
Beide Teile passen nicht zusammen, denn laut Fehlermeldung müßte es hier:
Nachricht
text NOT NULL,
Datum
varchar(70) NOT NULL default '',
Datumsort
int(11) NOT NULL default '0',
anders aussehen - vermutlich
Nachricht
text(1000) NOT NULL,
Datum
varchar(70) NOT NULL default '',
Datumsort
int(11) NOT NULL default '0',
was natürlich zu einer Fehlermeldung führen muß, da text in MySQL keine Längenangabe haben darf.
cu,
Andreas
Hi,
verfügst Du über eine MySQL-Version, in der die ENGINE-Klausel implementiert ist?
hth Robert
P.S. 'Name' ist ein MySQL-Schlüsselwort und somit kein empfehlenswerter Spaltenbezeichner - auch wenn es vordergründig problemlos funktioniert. Im Archiv finden sich etliche erhellende Diskussionen zu reservierten Bezeichnern...
Guten Morgen,
Was soll ich denn noch mehr posten als ich hier schon tue?
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(1000) NOT NULL,
Datum
VARCHAR(70) NOT NULL,Datumsort
INT(
Gruss
Jan
Moin,
na ja, vor '(1000...' kommt ja noch irgendwas, das gesamte Statement halt. Das müsste irgendwas wie CREATE TABLE ... sein.
Gut, da es sich um PHPMyAdmin handelt müssen wir mal davon ausgehen, dass die Statements eigentlich funktionieren. Entweder hast du jetzt einen zu großen Wert für ein Feld angegegeben (z.B. ein CHAR mit 1000 Zeichen?!), oder die Verbindung zur Datenbank scheitert. Guck mal bitte in der Konfiguration nach, ob die Verbindung richtig eingestelt ist, bzw. funktioniert der Rest von PHPMyAdmin?
MfG
Rouven
Morgen,
ja soweit geht alles d.H ich habe schon 2 Tabellen erstellt, da ging es ohne Probleme!
Da mit den Zeichen für den Text war eine aus der Luft gegriffene Zahl... eigentlich kommt in diese Spalte keine Zahl rein allerdings geht es auch so nicht....
Es muss irgendwo in den Einstellungen ein Fehler vorliegen, nehme ich an denn selbst bei einer funktionierenden sql datei die ich gestern abend noch bei einem Kollegen erstellt habe, Zeigt er den selben Syntaxfehler an!?
Hallo nochmal,
warum um alles in der Welt postest du nicht mal das Statement?
Uhfe