Maison > base de données > tutoriel mysql > Comment sélectionner correctement les lignes avec des valeurs NULL dans MySQL ?

Comment sélectionner correctement les lignes avec des valeurs NULL dans MySQL ?

DDD
Libérer: 2024-11-30 10:20:21
original
901 Les gens l'ont consulté

How to Correctly Select Rows with NULL Values in MySQL?

MySQL : Sélection de lignes avec des valeurs NULL

Lors de la tentative de récupération de lignes dans lesquelles une colonne particulière contient une valeur NULL, l'utilisateur rencontre un message vide ensemble de résultats. Cet écart survient malgré le fait que le tableau affiche des valeurs NULL lorsqu'il est consulté dans phpMyAdmin.

La requête en question ressemble à la suivante :

SELECT pid FROM planets WHERE userid = NULL
Copier après la connexion

Après avoir exploré diverses suggestions, notamment la vérification de "NULL" ou " null" et en recherchant des espaces vides, l'utilisateur ne parvient pas à récupérer les lignes souhaitées. Soupçonnant que le moteur de stockage MyISAM peut être un facteur contributif, l'utilisateur convertit la table en InnoDB. Cependant, le problème persiste.

Résoudre le problème

La solution réside dans la compréhension de la nature particulière des valeurs SQL NULL. Contrairement aux valeurs traditionnelles, les valeurs NULL ne peuvent pas être assimilées à l'aide du signe égal (=). Pour récupérer correctement les lignes avec des valeurs NULL, il faut utiliser la syntaxe suivante :

WHERE field IS NULL
Copier après la connexion

Cette distinction vient du fait que NULL représente une valeur inconnue ou indéfinie, rendant impossible de déterminer si elle est réellement égale à n'importe quoi, y compris lui-même. Ce principe est inscrit dans la règle 3 de Codd.

En ajustant la requête à :

SELECT pid FROM planets WHERE userid IS NULL
Copier après la connexion

l'utilisateur devrait désormais pouvoir récupérer avec succès les lignes avec des valeurs NULL.

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