Contraintes uniques et valeurs nulles dans MySQL
On peut rencontrer des scénarios dans lesquels il est souhaitable d'imposer l'unicité sur une colonne tout en autorisant les valeurs nulles. Dans MySQL, ce comportement est pris en charge dans certains cas.
Considérons une colonne nommée "email" qui doit respecter la règle d'unicité mais également accepter les valeurs nulles. Plusieurs e-mails nuls peuvent-ils coexister dans une telle configuration ?
Oui, MySQL autorise plusieurs NULL dans une colonne avec une contrainte unique. Cela peut être démontré à travers un exemple simple :
CREATE TABLE table1 (x INT NULL UNIQUE); INSERT table1 VALUES (1); INSERT table1 VALUES (1); -- Duplicate entry '1' for key 'x' INSERT table1 VALUES (NULL); INSERT table1 VALUES (NULL); SELECT * FROM table1;
Sortie :
x NULL NULL 1
Comme illustré, plusieurs valeurs nulles peuvent exister dans une colonne unique dans MySQL. Ce comportement est unique à MySQL et peut ne pas s'appliquer à d'autres systèmes de gestion de bases de données. Par exemple, SQL Server 2005 et les versions antérieures n'autorisent qu'une seule valeur NULL dans une colonne avec une contrainte unique.
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!