Maison > base de données > tutoriel mysql > le corps du texte

Quelle est la longueur de int(5) dans MySQL

王林
Libérer: 2023-06-03 23:24:14
avant
1895 Les gens l'ont consulté

Quelle est la longueur de int(5) ?

Lors de la conception de champs de table MySQL, int(5) signifie-t-il que la longueur du champ est de 5 ?

Si vous le pensez, continuez à lire, je pense que vous gagnerez quelque chose de nouveau.

Regardons d'abord un exemple pratique

Nous créons une nouvelle table avec un seul identifiant de clé primaire et un seul champ de longueur, où le champ de longueur est défini sur int(5).

#新建test表
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `length` int(5) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Copier après la connexion

Est-il vrai que le champ de longueur ne peut stocker que des nombres d'une longueur maximale de 5 ? Essayons d'insérer une donnée.

Nous insérons une donnée plus grande 123456789. Ces données ont un total de 9 chiffres pour voir si elles peuvent être insérées normalement.

#插入一条大数据
insert into test (length) values (123456789);
Copier après la connexion

Il s'avère que int(5) peut insérer des données d'une longueur supérieure à 5, il est donc maintenant certain que int(5) ne représente pas la largeur des données.

#查看插入数据
mysql> select * from test;
+------------+-----------+
| id         | length    |
+------------+-----------+
|  1         | 123456789 |
+------------+-----------+
Copier après la connexion

Dans MySQL, la longueur du champ int est en fait fixe, soit 4 octets. Que vous utilisiez int(11) ou int(5), la longueur du champ est fixée à 4 octets.

int(5) est en fait utilisé en conjonction avec un autre attribut zerofill, ce qui signifie que si la largeur de la valeur du champ est inférieure à 5, elle sera automatiquement complétée par 0 devant si la largeur est supérieure ou égale. à 5, il n'est pas nécessaire de compléter 0.

#int(5) length 字段添加了 zerofill 属性
mysql> select * from test;
+----+--------+
| id | length |
+----+--------+
|  1 |  00888 |
|  2 |  00012 |
|  3 |  12345 |
|  4 | 123456 |
+----+--------+
Copier après la connexion

Notez que l'attribut zerofill doit être ajouté à ce champ, sinon int(5) ne fonctionnera pas.

#int(5) length 字段没有 zerofill 属性
mysql> select * from test;
+----+--------+
| id | length |
+----+--------+
|  1 |    888 |
|  2 |     12 |
|  3 |  12345 |
|  4 | 123456 |
+----+--------+
Copier après la connexion

Si vous souhaitez définir la longueur d'un champ entier, vous devez choisir les types suivants : tinyint, smallint, mediumint, int, bigint. Ces types entiers représentent des longueurs fixes. Veuillez consulter le tableau ci-dessous pour la longueur spécifique.

Quelle est la longueur de int(5) dans MySQL

Notez que si vous souhaitez stocker des entiers signés, l'attribut zerofill n'est pas pris en charge et sera automatiquement converti en 0. Cela doit être pris en compte dans certaines entreprises impliquant une décrémentation.

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal