Maison > Article > base de données > Quel rôle joue le type de données lorsque j'insère une chaîne vide dans une colonne MySQL déclarée NOT NULL ?
Lorsque nous insérons une chaîne vide dans une colonne MySQL déclarée NON NULL, la représentation de la chaîne vide dans le jeu de résultats dépend du type de données. Nous savons que lors de l'insertion d'une chaîne vide, nous fournissons à MySQL la valeur représentée sous forme d'entier comme INT 0.
Maintenant, si la colonne a un type de données INTEGER, alors MySQL affichera 0 dans le jeu de résultats comme indiqué ci-dessous. La chaîne vide a été mappée sur le zéro entier.
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)
Mais si la colonne a un autre type de données (par exemple VARCHAR), alors MySQL affichera une chaîne vide dans le jeu de résultats.
mysql> create table test123(id Varchar(10) NOT NULL, Name Varchar(10)); Query OK, 0 rows affected (0.19 sec) mysql> Insert into test123(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 test123; +----+--------+ | id | Name | +----+--------+ | 1 | Gaurav | | 0 | Rahul | | | Aarav | +----+--------+ 3 rows in set (0.00 sec)
À partir de l'exemple ci-dessus, nous pouvons voir quel rôle joue le type de données lorsque nous insérons une chaîne vide dans une colonne MySQL déclarée comme NOT NULL.
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!