Describetest2\G******************************1.row* ****** ********************** Champ : id Type :in"/> Describetest2\G******************************1.row* ****** ********************** Champ : id Type :in">
Maison >base de données >tutoriel mysql >Comment insérer le mot-clé NULL comme valeur dans la colonne de type de caractère de la table MySQL avec la contrainte NOT NULL ?
Il est tout à fait possible d'insérer le mot-clé NULL comme valeur dans une colonne de type caractère avec contrainte NOT NULL, puisque NULL est lui-même une valeur. L'exemple suivant le démontrera -
Supposons que nous ayons une table test2 qui contient la colonne de type de caractère "Nom" ainsi qu'une contrainte NOT NULL. Cela peut être vérifié à partir de l'instruction DESCRIBE comme suit -
mysql> Describe test2\G *************************** 1. row *************************** Field: id Type: int(11) Null: NO Key: Default: NULL Extra: *************************** 2. row *************************** Field: NAME Type: varchar(20) Null: NO Key: Default: NULL Extra: 2 rows in set (0.03 sec)
Maintenant, à l'aide de la requête suivante, nous pouvons insérer NULL comme valeur dans la colonne "Nom".
mysql> Insert into test2 values(2, 'NULL'); Query OK, 1 row affected (0.06 sec) mysql> select * from test2; +----+--------+ | id | NAME | +----+--------+ | 1 | Gaurav | | 2 | NULL | +----+--------+ 2 rows in set (0.00 sec)
Pour comprendre la différence entre "NULL" et "NULL as value", nous pouvons exécuter les deux requêtes suivantes -
mysql> delete from test2 where name IS NULL; Query OK, 0 rows affected (0.00 sec)
La requête ci-dessus affecte 0 ligne, ce qui signifie qu'il n'y a pas de ligne NULL. Vous pouvez vérifier à partir de la requête SELECT qu'aucune ligne n'a été supprimée.
mysql> select * from test2; +----+--------+ | id | NAME | +----+--------+ | 1 | Gaurav | | 2 | NULL | +----+--------+ 2 rows in set (0.00 sec) mysql> delete from test2 where name = 'NULL'; Query OK, 1 row affected (0.09 sec)
La requête ci-dessus affecte 1 ligne, ce qui signifie qu'il y a une ligne avec une valeur NULL. Vous pouvez vérifier à partir de la requête SELECT que les lignes avec une valeur NULL dans la colonne "NOM" ont été supprimées.
mysql> select * from test2; +----+--------+ | id | NAME | +----+--------+ | 1 | Gaurav | +----+--------+ 1 row 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!