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

Requêtes MySQL Discussion :

Stockage chiffre commençant par un zéro


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Points : 64
    Points
    64
    Par défaut Stockage chiffre commençant par un zéro
    Bonjour,

    J'ai un problème pour mettre à jour une table.
    Dans cette dernière j'ai un champs contenant des codes postaux.

    Cela marche bien (par exemple 95475,13458,25478,etc.) sauf lorsque le code postal commence par un zéro (07123,04874). Ma requête marche bien alors mais le zéro du début n'est pas stocké dans ma bdd.

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE `matable` SET `cb_codepostal` = '05456' WHERE `id` =119 ;
    Requête effectué, stockage changé mais valeur mis à 5456 et pas 05456.
    cb_codepostal est un champs de type int(11).

    Une idée d'ou vient mon erreur ? merci

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Tous les codes postaux ne sont pas numériques, même pour la France, me semble-t'il.
    En tout état de cause, sur une colonne numérique, il faut ajouter ZEROFILL dans la définition de la colonne pour obtenir ce que tu souhaites.

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Comme l'a suggéré Maljuna Kris, un code postal n'est pas une donnée numérique !

    La Corse, anciennement département numéro 20 a été divisée en deux : 2A et 2B.
    Il a failli en être de même pour le Finistère et on en a parlé pour la Seine Maritime.

    Comme son nom l'indique, un code postal est un code, pas un nombre. Il ne doit pas être stocké dans une colonne de type entier mais dans un type CHAR ou VARCHAR.

    Voir l'article de SQLPro sur les données et les normes, notamment le chapitre 3.1.2.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Points : 64
    Points
    64
    Par défaut
    Merci pour vos réponses et remarques.

    Je viens de modifier le type de champs pour mettre un mode alphanumérique.
    Mon problème est donc résolu.

    Par contre, à titre personnel comment corrigé cette erreur avec le 0 devant si je n'avais pas eu à modifier le format ?

    merci

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    La Corse, anciennement département numéro 20 a été divisée en deux : 2A et 2B.
    Seuls les numéros de département ont changé. Les codes postaux sont toujours "20xxx".
    Il s'agit juste d'une petite précision au passage, sans que cela remette en cause ce qui a été dit précédemment.

  6. #6
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Citation Envoyé par Daviloppeur Voir le message
    Par contre, à titre personnel comment corrigé cette erreur avec le 0 devant si je n'avais pas eu à modifier le format ?
    Je t'ai répondu ZEROFILL

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Daviloppeur Voir le message
    Par contre, à titre personnel comment corrigé cette erreur avec le 0 devant si je n'avais pas eu à modifier le format ?
    Citation Envoyé par Maljuna Kris
    En tout état de cause, sur une colonne numérique, il faut ajouter ZEROFILL dans la définition de la colonne pour obtenir ce que tu souhaites.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/06/2010, 13h12
  2. Résultat commençant par un chiffre avec requête SELECT
    Par nicolas.pissard dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/04/2010, 13h31
  3. Réponses: 6
    Dernier message: 17/10/2007, 10h10
  4. Réponses: 6
    Dernier message: 12/04/2007, 18h13
  5. Réponses: 2
    Dernier message: 17/01/2007, 17h21

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