SQL-Problem

daHooligan
hy,

mein cms nimmt langsam formen an und es fehlt fast nur noch die benutzerverwaltung.
Ich hab jetzt allerdings das Problem, dass ich irgendwie meine SQL-DB net angelegt krieg.
Ich hab schon einiges probiert, find den fehler aber nicht.
Hier meine SQL-Abfrage:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
CREATE TABLE `user` (

`usrnr` BIGINT( 100 ) DEFAULT '-1' NOT NULL AUTO_INCREMENT ,
`usrname` LONGTEXT( 30 ) NOT NULL ,
`usrpw` TEXT( 30 ) NOT NULL ,
`usrrights` INT( 7 ) NOT NULL ,
`usrlang` TEXT( 5 ) DEFAULT 'GER' NOT NULL ,
`usrstyle` INT( 7 ) DEFAULT '0' NOT NULL ,
`usrgebdat` TIMESTAMP,
`usrrealname` TEXT( 50 ) ,
`usrlastli` TIMESTAMP NOT NULL ,
`usrlicount` BIGINT( 10 ) DEFAULT '0' NOT NULL ,
`usrcookie` INT( 1 ) DEFAULT '1' NOT NULL ,
`usrava` LONGTEXT( 300 ) ,
`usrnotice` TEXT( 100000 ) ,
`usrnl` INT( 1 ) DEFAULT '1' NOT NULL ,
`usrstop` INT( 1 ) DEFAULT '0' NOT NULL ,
`usrfailli` BIGINT( 10 ) DEFAULT '0' NOT NULL ,
`usrliip` TEXT( 15 ) DEFAULT '0.0.0.0' NOT NULL ,
`usrhistory` TEXT( 100000 ) ,
`usricq` BIGINT( 10 ) DEFAULT '0',
`usricqshow` INT( 1 ) DEFAULT '0' NOT NULL ,
`usrmail` TEXT( 100 ) ,
`usrmailshow` INT( 1 ) DEFAULT '0' NOT NULL ,
`usrrealnameshow` INT( 1 ) DEFAULT '0' NOT NULL ,
`usrgebdatshow` INT( 1 ) DEFAULT '0' NOT NULL ,
`usrftproot` TEXT( 500 ) ,
`usrftpallow` INT( 1 ) DEFAULT '0' NOT NULL ,
`usrftpuser` TEXT( 50 ) ,
`usrftppassword` TEXT( 100 ) ,
`usrhomepage` TEXT( 100 ) ,
`usrhomepageshow` INT( 1 ) DEFAULT '0' NOT NULL ,
`usrgender` INT( 1 ) DEFAULT '0' NOT NULL ,
`usrsignature` TEXT( 100000 ) ,
`usrusertext` TEXT( 100000 ) ,
`usrcity` TEXT( 100 ) ,
`usrcityshow` INT( 1 ) DEFAULT '0' NOT NULL ,
PRIMARY KEY ( `usrnr` ) ,
UNIQUE (
`usrname` 
),
FULLTEXT (
`usrnotice` ,
`usrhistory` ,
`usrsignature` ,
`usrusertext` 
)
) 

code:
1:
2:
3:
4:
5:
6:
MySQL meldet: 


#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 '(30) NOT NULL, `usrpw` TEXT(30) NOT NULL, `usrrights` INT(7) NO 

ich bin mit meine SQL am ende und hab keine ahnung mehr


MfG

daHool
survivor
für text kannst du glaub ich keine länge angeben. bin mir aber jetzt nicht sicher, versuch's einfach mal.
ThiefMaster
Für einzeilige Texte die max. 255 Zeichen lang sind, nimmt man VARCHAR.
Für ein Paswort reichen IMMER 32 bzw. 40 Zeichen, da alles außer MD5 (32) oder besser SHA1 (40) unsicher ist.
daHooligan
thx für die tipps, hab die fehler gefunden....

folgendes für alle die dasgleiche Problem haben:
TEXT darf keine Längenangabe haben (auch keine leeren Klammern)
BLOB auch nicht
am Rande: TEXT ist BLOB ohne Beürücksichtigung der Groß-/Kleinschreibung

TEXT und BLOB dürfen keine Standardwerte (DEFAULT '.....') haben.....

MfG

daHool