2010-10-15 11 views

Répondre

12

MySQL 5.0 Reference Manual: Numeric Types

La largeur de l'écran ne limite pas la gamme de valeurs qui peuvent être stockées dans la colonne. Cela n'empêche pas non plus que les valeurs plus larges que la largeur d'affichage de la colonne soient affichées correctement.

Edit: Notez que No. UNSIGNED est un attribut non standard qui affecte la plage. Aucune valeur donnée dans votre question est la limite supérieure correcte d'un normalTINYINT(2).

Modifier pour commenter le commentaire: Veuillez faire confiance à la documentation, à moins qu'il n'y ait une raison de ne pas l'envoyer. Si quelque chose semble louche, TIAS (essayez-le et voyez).

+0

alors vous voulez dire que 127 est la valeur maximale autorisée ici? – user476554

+2

Quelle est la bonne réponse pour cela? – user476554

+6

Oui, 127 est la valeur maximale pour tinyint signé. Btw, est-ce si difficile à essayer? – zerkms

20

Il faut 127.

font référence lien: http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html

+4

255 pour non signé. – orosznyet

+0

Pourquoi ça prend 127 ?? quelle est la signification de tinyint (2)? –

+0

On dirait que 127 est pour TINTYINT signé (1) pas pour Signé TINYINT (2). Alors, quelle est la valeur de Signed TINYINT (2)? Source: http://dev.mysql.com/doc/refman/5.1/fr/integer-types.html – Piero

0

Je crois que la bonne réponse à cette question est:

255 

pas 127.

Vérifiez cette page sur: Mysql Integer types

Quelles autres années les gens ne vous disent pas que le maximum peut être de 255 si vous n'utilisez pas de nombres négatifs.

Si vous utilisez des nombres négatifs alors la valeur maximale ne peut être 127.

C'est vraiment ce que les unsigned et signed mots signifient, malheureusement, personne ne vous a expliqué à que je puisse voir pourquoi il est source de confusion. Cela signifie qu'il ne peut pas contenir de nombres négatifs. Par conséquent, si vous définissez votre colonne sur unsigned, vous pouvez utiliser 255 comme maximum. Si vous ne définissez pas explicitement la colonne comme unsigned, cela signifie qu'il acceptera des nombres négatifs (étant ainsi une colonne signed) auquel cas le maximum sera maintenant 127.

Les autres réponses sont techniquement correctes car Mysql définira par défaut toutes les colonnes entières comme signed (pouvant utiliser des nombres négatifs). Je pense juste que cette réponse explique un peu plus les choses et est, peut-être, plus pertinente à votre question initiale.

Questions connexes