Maison > base de données > tutoriel mysql > La contrainte unique de MySQL peut-elle gérer plusieurs valeurs NULL ?

La contrainte unique de MySQL peut-elle gérer plusieurs valeurs NULL ?

DDD
Libérer: 2024-12-26 07:14:09
original
767 Les gens l'ont consulté

Can MySQL's Unique Constraint Handle Multiple NULL Values?

Contrainte unique MySQL : valeurs nulles

Dans MySQL, des contraintes uniques sont appliquées pour garantir l'unicité des valeurs dans une colonne spécifiée. Cependant, lorsqu'il s'agit d'adresses e-mail, un scénario courant consiste à utiliser des valeurs nulles pour représenter une adresse facultative ou non fournie. Cela soulève la question :

MySQL peut-il autoriser plusieurs valeurs nulles dans une colonne avec une contrainte unique ?

Réponse :

Oui, MySQL autorise plusieurs valeurs nulles dans une colonne ayant une contrainte unique. Ce comportement diffère de certains autres systèmes de bases de données.

Exemple :

L'instruction SQL suivante crée une table nommée table1 avec une colonne entière x qui est définie comme unique et permet valeurs nulles :

CREATE TABLE table1 (x INT NULL UNIQUE);
Copier après la connexion

L'insertion de valeurs nulles en double dans ce tableau ne générera pas de erreur :

INSERT table1 VALUES (1);
INSERT table1 VALUES (1);   -- Duplicate entry '1' for key 'x'
INSERT table1 VALUES (NULL);
INSERT table1 VALUES (NULL);
Copier après la connexion

L'exécution d'une requête pour récupérer tous les enregistrements de la table1 produira le résultat suivant :

SELECT * FROM table1;
Copier après la connexion
x
NULL
NULL
1

Remarque : Ce comportement est spécifique à MySQL. D'autres systèmes de bases de données, tels que SQL Server 2005 et versions antérieures, limitent l'autorisation d'une seule valeur nulle dans les colonnes avec des contraintes uniques.

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:php.cn
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