Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/08/2006, 10h35   #1
Invité de passage
 
Inscription : août 2006
Messages : 11
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 11
Points : 4
Points : 4
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
sportBlond est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 10h54   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Citation:
Envoyé par sportBlond
Rappel:
L'attribut [M] définit le nombre de
caractères maximum que le champ pourra contenir
Non

Citation:
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
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 12h00   #3
Invité de passage
 
Inscription : août 2006
Messages : 11
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 11
Points : 4
Points : 4
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.
sportBlond est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 12h45   #4
Invité de passage
 
Inscription : août 2006
Messages : 11
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 11
Points : 4
Points : 4
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
sportBlond est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h28.


 
 
 
 
Partenaires

Hébergement Web