NULL 値によると、MySQL の NULL 値は単にデータがないことを意味します。NULL 値は、一部の型のゼロ値とは異なります。たとえば、int 型のゼロ値は 0 で、文字列のゼロ値は "" ですが、これらには null ではなく、データがまだあります。 データを保存する際、一時的に利用できないデータは null として記録され、現時点では有効な情報を提供できないことが示されます。 ただし、nullを使用する場合は、いくつかの問題に注意する必要があります。MySQLのドキュメントでは、次のように説明されています。 null 使用時にエラーが発生しやすい点以下では、MySQL 関係者が挙げている null のエラーが発生しやすいポイントについて説明します。 MySQL に慣れていない人は、null 値とゼロ値を簡単に混同する可能性があります。
たとえば、次の2つのSQL文によって生成されるデータは独立している。 mysql> my_table (phone) に VALUES (NULL) を挿入します。 mysql> my_table (phone) に値 ('') を挿入します。 最初のSQL文は、電話番号が現時点では不明であることのみを示しており、2番目の文は電話番号が既知であり、
nullの論理的判断は別途処理する必要がある値が null かどうかを判断するには、特殊な構文
=を使って判断すると、常に偽になります
たとえば、次のように記述すると、where テストの結果は true になりません。 my_table から * を選択 WHERE phone = NULL; null と他のデータを使用して計算を行う場合、MySQL ドキュメントで特定の操作について追加の特別な指示がない限り、結果は常に null になります。
例えば: mysql> SELECT NULL, 1+NULL, CONCAT('Invisible',NULL); +------+--------+---------------------------+ | NULL | 1+NULL | CONCAT('Invisible',NULL) | +------+--------+---------------------------+ | NULL | NULL | NULL | +------+--------+---------------------------+ セット内の 1 行 (0.00 秒) したがって、null について論理的な判断を下したい場合は、 NULL値を探すには、IS NULLテストを使用する必要があります。 NULL値を持つ列のインデックス作成には、隠れた詳細をさらに予測する必要があるInnoDB、MyISAM、および MEMORY ストレージ エンジンのみが、null 値を持つ列のインデックス作成をサポートします。
インデックスの長さは通常のインデックスより 1 長くなります。つまり、消費するメモリがわずかに多くなります。 キーの保存形式により、NULL になる可能性がある列のキーの長さは、NOT NULL 列のキーの長さよりも 1 長くなります。 グループ化、重複排除、およびnull値のソートは特別に扱われます=null は常に false であるという上記の記述とは反対に、null は等しいとみなされます。
null値のソートは特別に扱われます。NULL値は最初または最後にソートされます。
集計操作中はNullは無視されます
たとえば、count(*) は null 値を持つデータをカウントしません。
mysql> SELECT COUNT(*), COUNT(age) FROM person; 上記は、MySQL null のよくある間違いの詳細です。MySQL null の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Windows 10でDockerコンテナのポートにアクセスできない問題に対する完璧な解決策
>>: 18 個のキラー JavaScript ワンライナー
目次導入複数の異なるハッシュを区別するハッシュチャンクハッシュコンテンツハッシュjs キャッシュの実...
SRIOVの導入、VFパススルー構成、パケット転送速度性能テスト目次1. SRIOVの紹介2. 環境...
1. データベースの文字セットを確認するデータベースの文字セットは、Linux で設定された環境変数...
この記事では、パスワードボックスの検証情報を実装するためのJavaScriptの具体的なコードを例と...
目次歴史pushState() メソッドpushState() の使用シナリオreplaceStat...
データベース MySQL バージョン 8.0.18 DBeaver.exeをダウンロードするダウンロ...
目次背景メインコンテンツ1. コンポーネントの比較2. 実装のアイデア3. キーメソッドソースコード...
目次1. はじめに2.これを理解する3. これは誰ですか? 4.矢印関数はさらに読む要約する1. は...
目次1. はじめに2. 本文2.1 モジュールとは何ですか? 2.2 解決2.3、require.r...
.net 開発に関しては、Microsoft の SQL Server データベースに精通しており、...
目次はじめにNginx Dockerファイル新しい会議もっと参考文献はじめに最近、アプリケーションの...
注: sg11 弊社では Linux システム仮想ホストのセルフインストールのみサポートしております...
目次背景1. 文書の説明2. 特定の用途結論背景ここで、状況について説明しましょう。親コンポーネント...
目次1. Tomcat の概念–1、サーバー–2、ウェブサーバー–3、Tomcatサーバー次にTom...
さらに興味深いコンテンツについては、https://github.com/abc-club/free...