Maison  >  Article  >  base de données  >  Que se passe-t-il lors de l'insertion de valeurs négatives dans une colonne UNSIGNED dans MySQL ?

Que se passe-t-il lors de l'insertion de valeurs négatives dans une colonne UNSIGNED dans MySQL ?

WBOY
WBOYavant
2023-09-03 09:53:021337parcourir

当向 MySQL 中的 UNSIGNED 列插入负值时会发生什么?

Dans MySQL, lorsque vous définissez une valeur négative sur une colonne UNSIGNED, une erreur se produit. Par exemple, créons d'abord une table avec un champ UNSIGNED −

mysql> create table UnsignedDemo
   -> (
   -> Id int UNSIGNED
   -> );
Query OK, 0 rows affected (0.79 sec)

Chaque fois que vous insérez une valeur négative dans l'ID de colonne déclaré comme UNSIGNED, l'erreur est la suivante :

mysql> INSERT INTO UnsignedDemo VALUES(-100);
ERROR 1264 (22003): Out of range value for column 'Id' at row 1

Exemple

Cependant, pour le cas non signé, Les effets positifs fonctionnent bien. Cela est également vrai dans l'exemple ci-dessous. Utilisez la commande insert pour insérer certains enregistrements dans le tableau ci-dessus. La requête est la suivante −

mysql> INSERT INTO UnsignedDemo VALUES(100);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO UnsignedDemo VALUES(1000);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO UnsignedDemo VALUES(0);
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO UnsignedDemo VALUES(100000000);
Query OK, 1 row affected (0.27 sec)

Utilisez l'instruction select pour afficher tous les enregistrements de la table. La requête est la suivante -

mysql> SELECT *FROM UnsignedDemo;

output

+-----------+
| Id        |
+-----------+
|       100 |
|      1000 |
|         0 |
| 100000000 |
+-----------+
4 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