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

Administration MySQL Discussion :

Colonne type numérique et valeur NULL code erreur 1366


Sujet :

Administration MySQL

  1. #1
    Membre à l'essai
    Femme Profil pro
    Volontaire International en bioinformatique
    Inscrit en
    Février 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Volontaire International en bioinformatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 19
    Points : 14
    Points
    14
    Par défaut Colonne type numérique et valeur NULL code erreur 1366
    Bonjour,

    après plusieurs recherches sur google et sur le forum je n'ai pas trouvé de réponse à mon problème donc me voilà !

    Mon problème est que dans ma base de données MySQL j'ai plusieurs tables avec des colonnes de type numérique, TINYINT pour être exacte.
    Quand je veux insérer des valeurs NULL ou vide cela me provoque des warnings de code erreur 1366 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning | 1366 | Incorrect integer value: 'NULL' for column 'ustOK' at row 151
    Lors de la définition de mes colonnes j'ai bien marqué qu'elles pouvait être NULL.

    Quelque soit le type numérique cela me donne des warnings mais le pire est que pour ses valeurs cela me met "0" ! Ce qui est un petit souci pour des colonnes codées en 0 ou 1...

    J'aimerai savoir si cela est normal que MySQL n'accepte pas NULL pour ces colonnes et si je suis donc obligé de changer le type de mes colonnes ?

    Merci pour vos réponses, j'espère avoir été claire .

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Attention ! NULL est un marqueur, pas une valeur.

    Le message d'erreur semble indiquer que vous avez essayer d'insérer la valeur chaîne de caractère 'NULL' et non pas le marqueur NULL sans apostrophes.

    Quelle requête provoque l'erreur ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre à l'essai
    Femme Profil pro
    Volontaire International en bioinformatique
    Inscrit en
    Février 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Volontaire International en bioinformatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    J'insère les données via un fichier texte avec un DATA LOCAL INFILE.

    Je pense qu'effectivement j'entre la chaîne de caractère 'NULL' et non le marqueur ! Je comprends l'erreur maintenant, merci !

    Par contre je ne vois pas comment rentrer à ce moment le marqueur vu que même si je n'ai pas de valeur dans mon fichier il prends ça pour une chaîne de caractère vide et remplace par 0. Je vais essayer de me débrouiller .

    Merci beaucoup pour la réponse, tout s'éclaire en 3 secondes ^^ ! Et bonne journée .

  4. #4
    Membre à l'essai
    Femme Profil pro
    Volontaire International en bioinformatique
    Inscrit en
    Février 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Volontaire International en bioinformatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Grâce à votre réponse j'ai cherché et trouvé facilement une solution à mon problème.
    Vu que je l'ai trouvé sur le site de MySQL mon problème était déjà connu .
    La page pour le souci :
    ICIl

    La solution est simple, il faut juste mettre \N dans le fichier pour les valeurs vides au lieu de NULL.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Update sur un champ NOT NULL avec une valeur NULL sans erreur
    Par HectorPriamide dans le forum Requêtes
    Réponses: 8
    Dernier message: 26/01/2012, 21h25
  2. [phpMyAdmin] Valeur par défaut null pour les types numériques
    Par xianxian620 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 11
    Dernier message: 09/12/2008, 15h34
  3. ORDER BY (colonne peut avoir la valeur NULL)
    Par Alexdezark dans le forum Langage SQL
    Réponses: 7
    Dernier message: 03/12/2008, 12h31
  4. Valeur par défaut null pour les types numériques
    Par xianxian620 dans le forum Requêtes
    Réponses: 3
    Dernier message: 27/05/2008, 11h57
  5. [Access] somme de 2 colonnes même qd une valeur nulle ?
    Par kikidrome dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/01/2008, 19h18

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