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 :

Récupérer la capacité de stockage d'une colonne


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 54
    Par défaut Récupérer la capacité de stockage d'une colonne
    Bonjour, Bonsoir

    Supposons que j'ai une table avec un champ 'chapitre' TINYINT(3) UNSIGNED.
    Ce champ va accepter des valeurs entre 0 et 255.
    Je vais avoir besoin de la valeur de la capacité de stockage de ce champ pour vérifier les valeurs données par l'utilisateur par exemple.
    Mais comment vais-je pouvoir récupérer dynamiquement cette capacité de stockage(255) dans mon script PHP ?

    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 : 73
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Tu peux interroger le serveur MySQL avec DESCRIBE ou SHOW COLUMNS et récupérer ce genre d'infos dans la colonne TYPE du résultat.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    Ce lien pourra vous aider

    Bon courage

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 1
    Par défaut
    Alors, les infos intéressantes que je peux avoir avec ça c'est le type de la colonne (tinyint) et la limite d'affichage (3) mais je ne peux pas obtenir la valeur max au-delà de laquelle MySQL va tronquer/modifier les données (255).

    Alors peut-être que je dois considérer que l'info est déjà contenu dans 'tinyint' et que c'est à moi de faire la traduction de 'tinyint' vers 255.
    Je préférais éviter ça si possible vu que j'imaginais que c'était MySQL qui pouvait me fournir ce genre d'info.
    Enfin si vous avez d'autres idées je suis preneur.

    Merci.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 54
    Par défaut
    Tiens j'avais même pas vu, j'ai pas posté mon message avec le bon compte.
    Et comme visiblement je ne peux plus modifier je précise que le message de Mephi, juste au-dessus, c'est moi qui l'ai écrit.

  6. #6
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 818
    Billets dans le blog
    14
    Par défaut
    On prévoit le type de la colonne au plus tard lors de l'implémentation du modèle de données.

    Ensuite, le programmeur qui développe l'application qui utilise la BDD doit prendre en compte ces limites pour contrôler la saisie de l'utilisateur et l'empêcher de pondre un roman dans un champ de formulaire destiné à saisir le titre d'un article si celui-ci ira alimenter une colonne de type VARCHAR(100).

    La longueur maxi d'une chaîne ou les bornes inférieures et supérieures des nombres sont à déterminer lors de l'élaboration des spécifications et les développeurs doivent ensuite en tenir compte. C'est une contrainte sur les données comme une autre.

    Et pour savoir quelles sont les capacités des différents types de colonnes, il y a la documentation du SGBD !
    - Types numériques
    - Types textuels
    - Dates et heures
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    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 !

Discussions similaires

  1. [WD17] Récupérer le taux d'ancrage d'une colonne
    Par jimmypage dans le forum WinDev
    Réponses: 1
    Dernier message: 27/07/2012, 09h15
  2. Réponses: 25
    Dernier message: 11/05/2012, 15h09
  3. Réponses: 1
    Dernier message: 03/11/2010, 11h41
  4. Réponses: 2
    Dernier message: 04/03/2009, 12h22
  5. Trigger : Récupérer la valeur par défaut d'une colonne
    Par mcspr2002 dans le forum Administration
    Réponses: 5
    Dernier message: 12/01/2007, 13h53

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