Le type du champ (TINYINT, MEDIUMINT, INT, etc.) détermine la taille maximale de l'entier que vous pouvez mettre dans un tel domaine. Non signé signifie que vous ne voulez stocker que des nombres supérieurs à zéro. Voici une table de référence pour les types numériques dans MySQL et leurs limites: MySQL Manual - Numeric Types.
Si vous définissez le champ comme non signé, vous obtenez le même nombre de valeurs possibles, mais elles ne seront pas divisées 50-50 entre les nombres négatifs et positifs, comme vous le verrez dans le tableau.
Le nombre entre parenthèses est le nombre qui est utilisé si vous spécifiez ZEROFILL sur le terrain - ce qui est utile si vous avez besoin de vos chiffres avec des zéros à rembourrées une certaine longueur. Par exemple, si vous créez un nouveau champ comme INT(5) ZEROFILL
, il affiche les nombres pour vous
00001
00002
00003
etc.
mais la gamme sera encore de -2147483648 à 2147483648. Le nombre entre parenthèses est ignoré si vous ne spécifiez pas ZEROFILL
lorsque vous définissez le champ.
Est-ce que la longueur de chiffres incluent la signe +/-? La plage MySql INT est de 10 chiffres sans le signe. – ron
Je suis désolé, mais en disant que "un int (11) peut stocker onze chiffres (f 11 111111111)" est fou. S'il vous plaît lire la page de manuel MySQL visé à l'http://stackoverflow.com/questions/2206122/how-to-predict-calculate-field-length-of-numeric-values-int-in-mysql/2206181#2206181 – Rowlf