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 ワンライナー
element-uiを使用する場合、el-popoverというよく使われるコンポーネントがありますが...
ステップ準備した静的リソースファイルを指定されたフォルダに配置しますnginx 設定ファイルを変更す...
MySQL 8.0.25解凍版のインストールチュートリアル、参考までに具体的な内容は以下のとおりです...
デフォルトでは、 /etc/default/docker 設定は有効になりません。docker 環境...
テーブル構造とそのデータをコピーする次のステートメントは、データを新しいテーブルにコピーします。注:...
nginx Nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバー...
WeChat 関連サービスをデバッグする場合など、職場のサーバー環境でリモートデバッグを行う必要があ...
目次クラスコンポーネント機能コンポーネントインタビューのよくある質問: React における ref...
目次(1)はじめに: (2)クリップボードの内容をコピーする方法は次のとおりです。 (3)関数演算に...
1. HTML タグを使用してテーブルを作成します。コードをコピーコードは次のとおりです。 <...
1. はじめに場合によっては、Web プラットフォームがオンラインになった後、サービス インターフェ...
1. システムインストールパッケージ yum -y インストール make gcc-c++ cmak...
目次序文デモンストレーション効果HTMLコードCSSコードJavascriptコードデモアドレス序文...
目次1. ロックとラッチ2. 繰り返し読み取り3. インサートロックプロセス3.1 ロックモード3....
まず、状態マネージャーとは何か、そしてそれが何をするのかを知る必要があります。複数のページで同じプロ...