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 ?

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 ?

PHPz
Libérer: 2023-08-28 11:37:02
avant
1257 Les gens l'ont consulté

如何在具有 NOT NULL 约束的 MySQL 表的字符类型列中插入 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 -

Exemple

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) 
Copier après la connexion

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) 
Copier après la connexion

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) 
Copier après la connexion

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) 
Copier après la connexion

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)
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