Reputation: 14189
Errore
query SQL:
CREATE TABLE `hospital_jqm`.`users` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 80 ) NOT NULL ,
`surname` VARCHAR( 80 ) NOT NULL ,
`address` VARCHAR( 80 ) NOT NULL ,
`birth_place` VARCHAR( 50 ) NOT NULL ,
`province` VARCHAR( 5 ) NOT NULL ,
`birth_date` DATE NOT NULL ,
`sex` ENUM( 'male', 'female' ) NOT NULL DEFAULT '''male''',
`case` ENUM( 'politrauma', 'cardiologico', 'neurologico' ) NOT NULL DEFAULT '''politrauma'''
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
Messaggio di MySQL:
#1067 - Invalid default value for 'sex'
I tried to create this table but I received this error.why?where is the error?
Upvotes: 0
Views: 1558
Reputation: 21
try not using triple quotes..the following worked fine for me..
CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 80 ) NOT NULL ,
`surname` VARCHAR( 80 ) NOT NULL ,
`address` VARCHAR( 80 ) NOT NULL ,
`birth_place` VARCHAR( 50 ) NOT NULL ,
`province` VARCHAR( 5 ) NOT NULL ,
`birth_date` DATE NOT NULL ,
`sex` ENUM( 'male', 'female' ) NOT NULL DEFAULT 'male',
`case` ENUM( 'politrauma', 'cardiologico', 'neurologico' ) NOT NULL DEFAULT 'politrauma'
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
Upvotes: 1
Reputation: 425003
You've got extra quotes in there. Change to this:
sex ENUM('male', 'female') NOT NULL DEFAULT 'male'
You were specifying a default value that was not in the list, ie 'male'
(with literal quotes included in the value) rather than male
Upvotes: 1