Maison  >  Article  >  base de données  >  Pourquoi chaque fois que j'insère une chaîne vide dans une colonne MySQL déclarée NOT NULL, elle affiche 0 au lieu de la chaîne vide ?

Pourquoi chaque fois que j'insère une chaîne vide dans une colonne MySQL déclarée NOT NULL, elle affiche 0 au lieu de la chaîne vide ?

WBOY
WBOYavant
2023-08-30 08:01:14963parcourir

为什么每当我将空字符串插入声明为 NOT NULL 的 MySQL 列时,它显示 0 而不是空字符串?

En effet, insérer une chaîne vide signifie que nous insérons une valeur au lieu de NULL. La chaîne vide correspond évidemment à zéro sous forme d’entier. En d’autres termes, nous pouvons dire qu’en insérant la chaîne vide, nous fournissons à MySQL une valeur entière représentée par INT 0. Considérons l'exemple suivant dans lequel nous avons inséré une chaîne vide et elle est mappée à 0 par MySQL.

mysql> create table test(id int NOT NULL, Name Varchar(10));
Query OK, 0 rows affected (0.19 sec)

mysql> Insert into test(id, name) values('1', 'Gaurav'),('0','Rahul'),('','Aarav');
Query OK, 3 rows affected, 1 warning (0.08 sec)
Records: 3 Duplicates: 0 Warnings: 1

mysql> Select * from test;
+----+--------+
| id | Name   |
+----+--------+
| 1  | Gaurav |
| 0  | Rahul  |
| 0  | Aarav  |
+----+--------+
3 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