Maison  >  Article  >  base de données  >  Le booléen MySQL « tinyint(1) » prend-il en charge jusqu'à 127 ?

Le booléen MySQL « tinyint(1) » prend-il en charge jusqu'à 127 ?

PHPz
PHPzavant
2023-09-19 16:29:04994parcourir

MySQL 布尔值“tinyint(1)”是否最多支持 127?

Comprenons quelques points clés sur le type TINYINT dans MySQL -

  • Le type TINYINT occupe 1 octet, soit 8 bits.
  • TINYINT(N), où N représente la largeur d'affichage souhaitée.

Par exemple, TINYINT(1) peut être utilisé pour afficher une largeur de 1.

Comprenons les valeurs minimales et maximales -

The maximum value for tinyint is= (2(8-1)-1) = 127
The minimum value for tinyint is = -(2(8-1)) = -128.

La valeur sera comprise entre -128 et 127. Cela signifie que TINYINT (1) n'affecte pas les valeurs maximales et minimales de tinyint.

Vérifions ça -

Tout d'abord, créons un tableau avec une colonne définie sur TINYINT (1) -

mysql> create table Display
   -> (
   -> rangeOfId tinyint(1)
   -> );
Query OK, 0 rows affected (0.67 sec)

Insérons une valeur qui est en dehors de la plage maximale et minimale. Cela entraînera l'erreur -

mysql> insert into Display values(128);
ERROR 1264 (22003): Out of range value for column 'rangeOfId' at row 1

La requête pour insérer l'enregistrement est la suivante. Nous allons maintenant insérer des valeurs dans la plage -

mysql> insert into Display values(127);
Query OK, 1 row affected (0.18 sec)

mysql> insert into Display values(-128);
Query OK, 1 row affected (0.20 sec)

Afficher tous les enregistrements du tableau à l'aide de l'instruction select. La requête est la suivante -

mysql> select *from Display;

output

+-----------+
| rangeOfId |
+-----------+
|       127 |
|      -128 |
+-----------+
2 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer