-
load data infile + enum
Bonjour à tous,
Je suis confronté à un problème.
Je m'explique j'ai crée une table avec un champ Grade de type : enum('Stagiaire', 'Confirmé', 'Chef)
Jusque là tout va bien.
Je veux remplir la table (qui contient évidemment d'autre champs) grâce à un fichier texte.
Je crée donc un fichier texte et fais appel à la requête : load date infile...
Ma table se remplie bien mais en ce qui concerne le champ Grade, ça ne fonctionne pas et le champ reste vide.
Quelqu'un pourrait il m'aider s'il vous plait ?
Merci :)
-
Une colonne (et pas champ !) de type ENUM ne stocke pas réellement le texte de l'ENUM mais son indice dans la liste des énumérations possibles. Dans votre cas, la colonne s'attend à recevoir une valeur 1, 2 ou 3 que MySQL sera capable de traduire par la valeur textuelle correspondante et qui figure dans la structure de la table.
Il faut donc importer vos données dans une table temporaire avec une colonne de type VARCHAR pour la colonne Grade puis ensuite transformer ces valeurs textuelles en entier conformément à votre liste d'ENUM.
-
Bonjour,
Ah oui exact, il suffisait de spécifier le numéro.
Un grand merci pour ton aide :)
Cordialement