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 ?

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
PHPzavant
2023-08-28 11:37:021238parcourir

如何在具有 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) 

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer