La valeur maximale de SMALLINT(6) non signé dans MySQL est 65535. Le chiffre 6 n'affecte pas la plage réelle, il est uniquement utilisé pour afficher la largeur sur la ligne de commande.
La valeur signée minimale est
-32768
La valeur non signée maximale est
65535
La valeur signée maximale est
32767
Comprenons ce problème en utilisant le remplissage zéro et créons une table en utilisant la requête suivante.
mysql> create table smallIntDemo -> ( -> FirstNumber smallint(6) zerofill -> ); Query OK, 0 rows affected (1.95 sec)
Vous pouvez maintenant insérer des enregistrements dans la table à l'aide de la commande insert. Chaque fois que vous insérez une valeur en dehors de la plage de 65 535, elle ne sera pas insérée dans le tableau car il s'agit de la valeur maximale. La requête est la suivante, en insérant des valeurs inférieures à la plage maximale.
mysql> insert into smallIntDemo values(2); Query OK, 1 row affected (0.21 sec) mysql> insert into smallIntDemo values(23); Query OK, 1 row affected (0.21 sec) mysql> insert into smallIntDemo values(234); Query OK, 1 row affected (0.17 sec) mysql> insert into smallIntDemo values(2345); Query OK, 1 row affected (0.15 sec) mysql> insert into smallIntDemo values(23456); Query OK, 1 row affected (0.48 sec)
Maintenant, regardons quelques enregistrements qui ne seront pas insérés dans le tableau car ils dépassent la valeur maximale.
mysql> insert into smallIntDemo values(234567); ERROR 1264 (22003): Out of range value for column 'FirstNumber' at row 1 mysql> insert into smallIntDemo values(111111); ERROR 1264 (22003): Out of range value for column 'FirstNumber' at row 1
Vous pouvez désormais afficher tous les enregistrements du tableau à l'aide de l'instruction select. La requête est comme indiqué ci-dessous -
mysql> select *from smallIntDemo;
Vous trouverez ci-dessous la sortie indiquant la largeur, c'est-à-dire le nombre utilisé, c'est-à-dire SMALLINT(6). La largeur est de 6.
+-------------+ | FirstNumber | +-------------+ | 000002 | | 000023 | | 000234 | | 002345 | | 023456 | +-------------+ 5 rows in set (0.00 sec)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!