Bonjour à tous,
Je me demande si il y a une différence entre le type int et le type int(3) étant donné que les valeurs numériques ont déjà une valeur maximale par défaut.
Merci pour vos réponses,
Bonjour à tous,
Je me demande si il y a une différence entre le type int et le type int(3) étant donné que les valeurs numériques ont déjà une valeur maximale par défaut.
Merci pour vos réponses,
En interne, aucune différence...
le (n) vaut uniquement pour la restitution d'une valeur: 4 => 004 pour int(3).
Voila, j'ai trouvé l'explication dans le manuel de travailler 'en interne', cela signifie donc sans jointure.
Pourtant, à l'affichage je n'ai aucun zéro ajouter devant les valeurs inférieures à 10000 alors que le type est smallint(5) unsigned. Je travaille avec du TINYINT et du SMALLINT, les valeurs numériques entre parenthèses apparaissent automatiquement. Comment puis-je les effacer? J'utilise MySQL 4.1.9 distribué avec EasyPhp 1.8.En extension de la norme ANSI/ISO SQL92, MySQL supporte aussi les types entiers TINYINT, MEDIUMINT, et BIGINT, comme présenté ci-dessus. 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.
Notez que si vous stockez des nombres plus grands que la taille maximale d'affichage, vous pouvez rencontrer des problèmes lors de jointures de tables particulièrement compliquées, surtout si MySQL génére des tables temporaires : dans ce cas, MySQL pense que les données étaient limitées par l'affichage.
Merci beaucoup,
Cette restitution vaut pour la console "native" de MySQL.
D'autres clients (easyphph, etc...) ne fonctionnent pas ainsi, mais tu l'as constaté par toi-même...
Oui, je me disais bien que cela devait être lié au fait que j'utilisais une interface graphique. Enfin, cela n'est pas trop dérangeant, je vais donc laisser tinyint(3).
Merci beaucoup pour ton aide,
Partager