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

SQL Procédural MySQL Discussion :

TINYINT [M] _ pourquoi donné une valeur à M ?


Sujet :

SQL Procédural MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Points : 8
    Points
    8
    Par défaut TINYINT [M] _ pourquoi donné une valeur à M ?
    Il s'agit d'une question précise.

    Rappel:
    L'attribut [M] définit le nombre de
    caractères maximum que le champ pourra contenir

    quand je fais:

    CREATE TABLE( id TINYINT UNSIGNED)

    La valeur par Défaut de M = 3 ("Tynyint(3)")
    ce qui est est normal puisque que le nombre max.
    pour Tinyint unsigned est 255 (3 caractères).

    1.Pourquoi donné une valeur à M?
    2.Pourquoi vois-t-on parfois : CREATE TABLE( id TINYINT(4) UNSIGNED)?
    ce qui me parait totalemnet absurde.

    Je tente de comprendre.
    Merci de m'éclairer.
    sportBlond

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Citation Envoyé par sportBlond
    Rappel:
    L'attribut [M] définit le nombre de
    caractères maximum que le champ pourra contenir
    Non

    Another extension is supported by MySQL for optionally specifying the display width of an integer value in parentheses following the base keyword for the type (for example, INT(4)). This optional display width specification is used to left-pad the display of values having a width less than the width specified for the column.

    The display width does not constrain the range of values that can be stored in the column, nor the number of digits that are displayed for values having a width exceeding that specified for the column.
    http://dev.mysql.com/doc/refman/5.0/...ric-types.html
    Pensez au bouton

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Un autre extension supportée par MySQL permet de spécifier optionnellement la taille d'affichage, sous la forme d'une valeur entière entre parenthèses, juste après le mot clé spécifiant le type (par exemple, INT(4)). Cette spécification de taille est utilisée pour remplir à gauche, avec le caractère de remplissage par défaut, les nombres dont la taille est inférieure à celle spécifiée mais uniquement à l'affichage : cela ne réduit pas l'intervalle de validité des valeurs qui peuvent être stockées dans la colonne.

    Lorsqu'elle est utilisée avec l'attribut de colonne optionnel ZEROFILL, le caractère de remplissage par défaut est remplacé par le caractère zéro. Par exemple, pour une colonne dont le type est INT(5) ZEROFILL, la valeur 4 sera lue 00004.

    MAXIMILIAN MERCI.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    quelques reflexion encore:
    "Les types entiers ont un paramètre optionnel permettant de définir le nombre de caractères utilisés pour représenter les valeurs de la colonne. Un champ de type TINYINT(2) permet donc de stocker des nombres entre -9 et 99. Si vous entrez un nombre plus important (154 par exemple), la valeur par défaut du paramètre sera alors utilisée (4 dans le cas de TINYINT). Bien entendu, il est impossible d'insérer des valeurs supérieures à 255 dans un champ de type TINYINT, le nombre serait alors tronqué sans provoquer de message d'erreur."


    "L'attribut [M] définit le nombre de caractères maximum que le champ pourra contenir." source
    http://www.vulgarisation-informatiqu...es-donnees.php

    n'est pas faux mais pas exact.

    L'attribut [M] Définit le nombre de caractère par défaut (quand spécifié ZEROFILL le caractère par défaut est "0" à gauche du nombre passé en valeur.(nb int(10) => 0000007777- la valeur étant 7777)

    la valeur est 7777 affiché 0000007777.

    quand la valeur M mise en option est plus petite que la valeur par défaut du type de champs numérique(nb Tinyint(2) UNSIGNED) alors la valeur maximum est 99.Mais l'insertion une valeur supèrieur n' est pas interdite.Si on veut insérer "255", alors [M] sera automatiquement remise à sa valeur par défaut.Dans notre cas, 3. (TINYINT(3)).

    ----------
    VOILÀ , J'ESPÈRE QUE J'AI TOUT COMPRIS.

    merci encore maximilian

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/04/2013, 11h46
  2. Réponses: 0
    Dernier message: 03/11/2009, 18h11
  3. mon programme donne une valeur fausse
    Par domxaline dans le forum Débuter avec Java
    Réponses: 17
    Dernier message: 20/08/2009, 14h50
  4. Lien qui donne une valeur à une variable
    Par marie4449 dans le forum Langage
    Réponses: 1
    Dernier message: 10/04/2007, 13h08
  5. Réponses: 3
    Dernier message: 07/10/2005, 09h34

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