IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 MySQL Discussion :

Erreur Data too long For column


Sujet :

MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Erreur Data too long For column
    Bonjour,

    Je suis débutant en Mysql et j'ai acheté le livre MySQL 5 chez M A , et lors de l'import d'un fichier de données CSV dans une table j'ai l'erreur suivante :

    "ERROR 1406 (22001) : Data too long for column 'CodeGenres' at row 1"

    J'ai d'abord pensé à un probleme de longueur de fichier, j'ai changé le nombre de caractères de la colonne de 4 à 8 abitrairement bien que les données du fichier ne comptaient pas plus de 4 caractères.

    A part la première ligne qui comporte le nom des colonnes mais qui est ignorée par la commande 'IGNORE 1 LINES' je ne vois pas de données qui clochent.

    J'ai aussi pensé au jeu de caractères par défaut de mysql et je l'ai mis en utf8 au lieu de latin1_swedish. Mais rien.

    Merci de votre aide.

    Bonne journée,

    FABRICE.
      0  0

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 285
    Points : 11 740
    Points
    11 740
    Par défaut
    s'il s'agit de mon bouquin, je crains que ce ne soit une erreur de points remplacés par des virgules lors de l'exportation...

    Je regarde ça ce soir !

    avec toutes mes excuses,
      0  0

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Data too long
    Effectivement c'est ce livre et je te remercie pour la réponse et pour le livre.

    J'essai de refaire le fichier csv mais rien, ou puis je trouver une liste des caractères d'échappement pour mieux comprendre.

    Merci encore

    Fabrice,
      0  0

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 285
    Points : 11 740
    Points
    11 740
    Par défaut
    Je pense que ton erreur est de ne pas indiquer que les apostrophes sont échappées par elles-mêmes (ce qui est normalisé en SQL) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    load data infile 'c:/test/livres.csv' 
    into table livres
    fields terminated by '\t'
    optionally enclosed by '' escaped by ''''
    lines terminated by '\n'
    ignore 1 lines ;
    Quant à mon erreur à moi, c'est que la dernière fois que j'ai généré ces foutus fichiers, j'ai oublié de remettre mon Windows avec le . comme séparateur décimal... tu trouveras une version corrigée de livres.csv ici : http://antoun.developpez.com/mysql5/...ons/livres.csv

    Je fais le nécessaire auprès de MicroApp pour que les fichiers à télécharger soient corrigés et assortis de la solution.

    Merci de m'avoir mis le nez sur ce problème !

    PS : quant aux caractères d'échappement, les voici : http://dev.mysql.com/doc/refman/5.0/...ng-syntax.html
      0  0

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Bonjour Antoine,

    Je te remercie pour ta réponse qui devrait régler le problème.

    Mais mon problème se situe sur le fichier Genres.csv !

    Je pense que cela ne change pas grand chose, mais je le signale.

    Je n'ai pas chargé la table livre car sans genres, ce n'est pas possible.

    Encore merci pour ta rapidité.

    Bon dimanche.

    Fabrice.
      0  0

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 12
    Points : 10
    Points
    10
    Par défaut data truncated
    Voici après changement et conseils d'Antoine ce qu'il m'arrive.

    les commandes sql sont les suivantes et le résultat sont les suivants :
    Code session MySQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    mysql > load data infile 'c:\\documents and settings\\fabrice gressent\\mes documents\\mes telechargements\\chap04\\genres.csv'
    -> into table genres
    -> fields terminated by ';' optionally enclosed by '"'
    -> lines terminated by '\r\n'
    -> ignore 1 lines ;
    ERROR 1265 (01000) Data truncated for column 'TypeGenre' at row 3
    mysql>

    Mon fichier csv est le suivant :

    Code fichier csv : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    "CodeGenre";"Genre";"TypeGenre"
    "Actu";"Actualite";"NF"
    "Cu";"Curiosite";"NF"
    "Fan";"Fantaisie";"F"
    "FAQ";"Fantastique";"F"
    "Litt";"Litterature";"F"
    "Pol";"Polar";"F"
    "SC";"Sciences";"NF"
    "SF";"Sciences-Fiction";"F"
    "SH";"Sciences Humaines";"NF"
    "StPK";"Steampunk";"F"

    d'abord qu'est ce que le row 3 et y a t'il un moyen de faire ressortir les espaces, les retours chariots dans le bloc note .

    Encore merci pour votre aide, cela me bloque un peu.

    Fabrice
      0  0

  7. #7
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 285
    Points : 11 740
    Points
    11 740
    Par défaut
    Je viens de faire le test. Chez moi, tes données se chargent sans problème avec ta commande. J'aurais donc tendance à penser que c'est le \r\n qui pose problème chez toi (es-tu sur Windows ?).

    Par contre, je suis un peu surpris parce que le fichier que j'ai mis au téléchargement chez microapp n'est pas celui-là. Les données sont les mêmes, mais les colonnes sont séparées par des tabulations et encadrées par des apostrophes :

    Code fichier csv : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'CodeGenre'	'Genre'	'TypeGenre'
    'Actu'	'Actualité'	'NF'
    'Cu'	'Curiosité'	'NF'
    'Fan'	'Fantasy'	'F'
    'FAQ'	'fantastique'	'F'
    'Litt'	'Littérature'	'F'
    'Pol'	'Polar'	'F'
    'SC'	'Sciences'	'NF'
    'SF'	'Science-Fiction'	'F'
    'SH'	'Sciences Humaines'	'NF'
    'StPk'	'Steampunk'	'F'

    Ce qui se charge avec :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    load data infile 'c:\\documents and settings\\fabrice gressent\\mes documents\\mes telechargements\\chap04\\genres.csv'
    into table genres
    fields terminated by '\t' optionally enclosed by ''''
    lines terminated by '\r\n'
    ignore 1 lines ;

    Je précise que le '''' en gras après enclosed by est (typographiquement) quatre apostrophes, ce qui désigne (sémantiquement) le caractère apostrophe.
      0  0

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 12
    Points : 10
    Points
    10
    Par défaut data truncated
    Bonsoir Antoine,

    Je suis sous windows XP pro SP 2,

    Le fichier que j'ai mis dans ma question est un fichier que je me suis permis de récrire.

    Je vais le remplacer par le tien , et reprendre tes commandes sql.

    OK ! pour l'explication sémantique concernant les apostrophes que je n'avais par comprise.

    Par ailleurs, au passage pourrrais tu me dire si il est possible de développer une application de SGBD avec mysql et visual basic express 2005 ?

    Merci encore pour ton aide et pour ce bouquin très bien fait.

    A très bientôt, si je rencontre d'autres soucis.

    Fabrice.
      0  0

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 12
    Points : 10
    Points
    10
    Par défaut data truncated
    C'est encore moi,

    J'ai refais le fichier csv avec le modèle d'antoine et rentrer les mêmes commandes

    et j'ai une erreur data truncated for column 'typegenre' at row 3

    il y un problème à partir du 3éme enregistrement ??

    Là j'ai un peu de mal.

    Mais je cherche, si l'un d'entre vous a une idée,

    Fabrice,
      0  0

  10. #10
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 285
    Points : 11 740
    Points
    11 740
    Par défaut
    que donne la requête suivante sur ta base ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW CREATE TABLE genres ;
      0  0

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 12
    Points : 10
    Points
    10
    Par défaut data truncated
    La requete donne ceci : (au passage si tu as une technique pour copier dans la console merci).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Create table 'genres' (
    'CodeGenre' varchar(4) character set latin1 NOT NULL default '',
    'Genre' varchar(30) character set latin1 NOT NULL,
    'TypeGenre' enum('N','NF') character set latin1 default NULL,
    PRIMARY KEY ('CodeGenre'),
    UNIQUE KEY 'Genre' ('Genre')
    ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
    Si cela peut aider ??

    Merci d'avance,

    Fabrice
      0  0

  12. #12
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 285
    Points : 11 740
    Points
    11 740
    Par défaut
    Tout ça me paraît correct... (pour copier dans la console : clic droit et coller).

    On ne va pas épiloguer 50 ans là-dessus... voici le remplissage de la table Genres en une requête SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    INSERT INTO `genres` VALUES ('Actu','Actualité','NF'),
    ('Cu','Curiosité','NF'),
    ('Fan','Fantasy','F'),
    ('FAQ','fantastique','F'),
    ('Litt','Littérature','F'),
    ('Pol','Polar','F'),
    ('SC','Sciences','NF'),
    ('SF','Science-Fiction','F'),
    ('SH','Sciences Humaines','NF'),
    ('StPk','Steampunk','F');
      0  0

  13. #13
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Les fichiers exemples ont été corrigés et remis en place par Antoun.
      0  0

Discussions similaires

  1. Data too long for column
    Par epeichette dans le forum Requêtes
    Réponses: 13
    Dernier message: 05/11/2007, 16h42
  2. erreur : Data too long for column
    Par GLSpirit dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 25/10/2007, 16h30
  3. [NWNX ODBC2 plugin] Data too long for column ..
    Par ballestolive dans le forum Débuter
    Réponses: 1
    Dernier message: 31/10/2006, 16h01
  4. ERROR 1406 (22001): Data too long for column
    Par olive_le_malin dans le forum Requêtes
    Réponses: 6
    Dernier message: 12/06/2006, 15h27
  5. "Data truncation: Data too long for column"
    Par bibiloute dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 04/05/2006, 10h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo