ホームページ > データベース > mysql チュートリアル > MySQL で NULL 値を含む行を正しく選択するにはどうすればよいですか?

MySQL で NULL 値を含む行を正しく選択するにはどうすればよいですか?

DDD
リリース: 2024-11-30 10:20:21
オリジナル
901 人が閲覧しました

How to Correctly Select Rows with NULL Values in MySQL?

MySQL: NULL 値を持つ行の選択

特定の列に NULL 値が含まれる行を取得しようとすると、ユーザーは空の列に遭遇します。結果セット。この不一致は、phpMyAdmin で表示したテーブルに NULL 値が表示されているにもかかわらず発生します。

問題のクエリは次のようになります。

SELECT pid FROM planets WHERE userid = NULL
ログイン後にコピー

「NULL」または「」のチェックなど、さまざまな提案を検討した結果null" 文字列を検索して空のスペースを検索しても、ユーザーは目的の行を取得できないままになります。 MyISAM ストレージ エンジンが一因である可能性があると考え、ユーザーはテーブルを InnoDB に変換します。しかし、問題は解決しません。

問題の解決

解決策は、SQL NULL 値の特殊な性質を理解することにあります。従来の値とは異なり、NULL は等号 (=) を使用して同等とみなすことができません。 NULL 値を含む行を正しく取得するには、次の構文を使用する必要があります:

WHERE field IS NULL
ログイン後にコピー

この区別は、NULL が未知または未定義の値を表し、それが本当に等しいかどうかを判断できないという事実に由来しています。それ自体も含めて何でも。この原則は、Codd のルール 3 に明記されています。

クエリを次のように調整することで、

SELECT pid FROM planets WHERE userid IS NULL
ログイン後にコピー

ユーザーは NULL 値を含む行を正常に取得できるようになります。

以上がMySQL で NULL 値を含む行を正しく選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート