Maison >base de données >tutoriel mysql >Comment sélectionner correctement les lignes avec des valeurs NULL dans MySQL ?
Comprendre les valeurs nulles dans MySQL
Dans MySQL, les valeurs nulles représentent des données manquantes ou inconnues. Contrairement à d’autres valeurs, null ne peut pas être directement comparé ou attribué à lui-même. Ce comportement peut conduire à des résultats inattendus lors de l'interrogation de lignes avec des colonnes nulles.
Problème : sélection de lignes avec des colonnes nulles
Lors de la tentative de sélection de lignes avec des valeurs nulles pour un colonne spécifique, un formulaire de requête courant ressemble à ceci :
SELECT pid FROM planets WHERE userid = NULL;
Cependant, cette requête peut renvoyer un ensemble vide même lorsque la table contient des lignes avec null dans cette colonne.
Solution : Utilisation de la comparaison IS NULL
Pour interroger correctement les valeurs nulles, utilisez l'opérateur IS NULL au lieu de l'opérateur =. La requête correcte doit être :
SELECT pid FROM planets WHERE userid IS NULL;
Cet opérateur vérifie explicitement si la colonne est nulle, évitant ainsi les complications d'une égalité nulle.
Considérations supplémentaires
Conclusion
En utilisant l'opérateur IS NULL et en considérant des moteurs de stockage alternatifs comme InnoDB, vous pouvez interroger avec précision les lignes avec des valeurs nulles dans MySQL. Cependant, n'oubliez pas que null reste une valeur spéciale avec des propriétés uniques qui peuvent affecter les résultats de la requête.
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!