Beste mensen,

Ik probeer een tabel aan te maken maar krijg een fout melding:

#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 'NOT NULL, `signup_date` DATETIME NOT NULL, `last_login` DATETIME NOT NULL, `acti' at line 1

Tabel is:

CREATE TABLE `users` (
`userid` int(25) NOT NULL auto_increment,
`first_name` varchar(25) NOT NULL default '',
`last_name` varchar(25) NOT NULL default '',
`email_address` varchar(25) NOT NULL default '',
`username` varchar(25) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`decrypted_password` varchar(255) NOT NULL default '',
`info` text NOT NULL,
`user_level` enum('0','1','2','3') NOT NULL default '0',
`signup_date` datetime NOT NULL default '0000-00-00 00:00:00',
`last_login` datetime NOT NULL default '0000-00-00 00:00:00',
`activated` enum('0','1') NOT NULL default '0',
PRIMARY KEY (`userid`)
) TYPE=MyISAM AUTO_INCREMENT=10 ;

Wat is er fout dan?

groetjes Rieksie
Gebruik geen backtics iig.
Het is DEFAULT 0, zonder '0', want het gaat om de key en niet om de waarde.
Dus:

CREATE TABLE `users` (
`userid` int(25) NOT NULL auto_increment,
`first_name` varchar(25) NOT NULL default '',
`last_name` varchar(25) NOT NULL default '',
`email_address` varchar(25) NOT NULL default '',
`username` varchar(25) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`decrypted_password` varchar(255) NOT NULL default '',
`info` text NOT NULL,
`user_level` enum('0','1','2','3') NOT NULL default 0,
`signup_date` datetime NOT NULL default '0000-00-00 00:00:00',
`last_login` datetime NOT NULL default '0000-00-00 00:00:00',
`activated` enum('0','1') NOT NULL default 0,
PRIMARY KEY (`userid`)
) TYPE=MyISAM AUTO_INCREMENT=10 ;



Of DEFAULT 1 wellicht. Ik heb geen enum-ervaring, MySQL...
Maar het gaat toch om die NOT NUL gedoe of heb ik dat mis?

Bij signup_date en last_login
Die NOT NULL hoeft toch niet; dat moet toch altíjd iets zijn?

haal dat dan es weg? NOT NULL bij datetime's
Harmen schreef op 22.04.2006 16:30
Die NOT NULL hoeft toch niet; dat moet toch altíjd iets zijn?

haal dat dan es weg? NOT NULL bij datetime's


*zucht*
NOT NULL betekent juist dat het veld niet leeg mag zijn...


Even om te onthouden: Als er in de error staat: Het gaat fout bij: IETS blabal NOGIETS, dan zit de fout meestal bij het eerste teken voor IETS.
@ willem-Jan

Wat moet het volgens jou zijn dan om de fout op te lossen?
enum(0,1,2,3)

Als het een INT veld is tenminste...

Reageren