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

Que signifie « non signé » dans MySQL et quand l'utiliser ?

王林
Libérer: 2023-09-17 15:29:02
avant
1613 Les gens l'ont consulté

MySQL 中的“unsigned”是什么意思以及何时使用它?

"Non signé" dans MySQL est un type de données. Chaque fois que nous écrivons un nombre non signé dans une colonne, cela signifie que vous ne pouvez pas insérer de nombres négatifs. Supposons que pour de très grands nombres, vous puissiez utiliser du type non signé.

La plage maximale des entiers non signés est 4294967295.

Note: If you insert negative value you will get a MySQL error.
Copier après la connexion

Voici un exemple de démonstration de types non signés. Créons d'abord un tableau avec une colonne "non signée". Vous trouverez ci-dessous la requête qui crée la table -

mysql> create table UnsignedDemoWithPositiveValue
   -> (
   -> Distance int unsigned
   -> );
Query OK, 0 rows affected (0.86 sec)
Copier après la connexion

Si vous essayez d'insérer une valeur de limite supérieure non signée de 4294967295, cela générera une erreur car la valeur est hors plage.

Insérez des valeurs hors plage.

mysql> insert into UnsignedDemoWithPositiveValue values(4294967296);
ERROR 1264 (22003): Out of range value for column 'Distance' at row 1
Copier après la connexion

Dans l'exemple ci-dessus, j'ai inséré 4294967296, qui est hors de portée et génère donc une erreur.

Maintenant, j'insère une autre valeur 4294967295 dans le tableau.

mysql> insert into UnsignedDemoWithPositiveValue values(4294967295);
Query OK, 1 row affected (0.30 sec)
Copier après la connexion

Ci-dessus, vous pouvez voir que la requête a été exécutée avec succès.

Maintenant, regardons un autre exemple. Si j'insère des enregistrements négatifs, j'obtiens l'erreur suivante -

mysql> insert into UnsignedDemoWithPositiveValue values(-124);
ERROR 1264 (22003): Out of range value for column 'Distance' at row 1
Copier après la connexion

Je n'insérerai désormais que les valeurs positives avec la valeur 124. La requête est la suivante -

mysql> insert into UnsignedDemoWithPositiveValue values(124);
Query OK, 1 row affected (0.86 sec)
Copier après la connexion

Comme indiqué ci-dessus, la requête est exécutée avec succès.

Utilisons l'instruction select pour afficher les enregistrements. La requête est la suivante -

mysql> select *from UnsignedDemoWithPositiveValue;
Copier après la connexion

Voici le résultat -

+------------+
| Distance   |
+------------+
| 4294967295 |
| 124        |
+------------+
2 rows in set (0.00 sec)
Copier après la connexion

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!

source:tutorialspoint.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