Aide pour débutante, créer un champ de type ENUM

coxine
Invité n'ayant pas de compte PHPfrance

14 févr. 2006, 18:05

Voilà mon souci, j'ai des erreurs qui s'affichent lorsque je veux rajouter un champ à une table existante
voici le contenu de ma table
CREATE TABLE `marque` (
  `ID` tinyint(4) NOT NULL auto_increment,
  `marque` varchar(150) NOT NULL default '',
  PRIMARY KEY  (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=37 ;
Je voudrais rajouter sous `marque` un champ
typeID ENUM
ALTER TABLE `marque` ADD `typeID` ENUM( (

'0',
'1',
'2',
'3',
'4'
) ) NOT NULL AFTER `marque` 
voilà le message d'erreur

Code : Tout sélectionner

#1064 - Erreur de syntaxe pr賠de '('0', '1', '2', '3', '4')) NOT NULL AFTER `marque`' ࠬa ligne 1
Je souhaite rajouter ce champ, pour pouvoir attribuer les valeurs de typeID qui existent dans une autre table.
Par exemple, pour une VALEUR "a", celle-ci est à la fois de typeID '1' et '2'.
Est-ce que je fais fausse route ?
Merci de m'aider !

Mammouth du PHP | 19672 Messages

15 févr. 2006, 00:41

Pourquoi des parenthèses doublées ?
Ensuite, tu mets ce champs non null sans préciser de valeur par défaut: essaye comme ceci:

Code : Tout sélectionner

ALTER TABLE `marque` ADD `typeID` ENUM('0', '1', '2', '3', '4') NOT NULL DEFAULT '0' AFTER `marque`
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 19672 Messages

15 févr. 2006, 14:58

Ok, on va commencer par créer un autre sujet et mettre celui d'origine résolu.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: