2

mysql データベースにテーブルを作成するたびに、そこに null チェックボックスのオプションが表示されます。クリックするとnull値も取り、チェックされていない場合もnull値を取ります。その意味は何ですか?

4

4 に答える 4

3

NULLは「値なし」を表し、1 と 0、true または false、または空の文字列と内容のある文字列を区別できるようにするために使用されます。nilこれは、Ruby、nullJavaScript、またはNULLPHPと似ています。

列を次のように定義すると、その列の値が指定されてNOT NULLいない場合は許可されませんINSERT。がある場合DEFAULT、これは自動的に適用されます。ORM を使用する場合は、安全で最小限のデフォルトで埋められる場合があります。

orフラグNULLを保持するために、行ごとに 1 ビットの追加ストレージをほとんど必要としない可能性がある列。NULLNOT NULL

NULLMySQL では、他の値よりも大きく、小さく、または等しくないという点で珍しいことに注意してください。これが、論理比較にIS NULLとが必要な理由です。IS NOT NULL

于 2012-09-07T18:03:10.027 に答える
1

チェックボックスはおそらくデフォルト値を null に設定します。フィールドが null 値を受け入れるかどうかを指定するボックスがある場合もあります。Null は基本的に空またはなし (VB で) を意味します。

于 2012-09-07T17:51:15.000 に答える
0

Null は基本的に「値なし」です。null を許可する場合は、コードが値を含まない列を処理できることを確認する必要があります。もう 1 つのアプローチは、各列に「空の」値を定義することです (たとえば、整数の場合は 0)。これは、null 値を処理するよりも簡単な場合があります。

以下のHLGEMで指摘されているように、0がnullに相当するとは言いません。考慮してください:「StockOnHand」列を持つDB。

0 は、手元に在庫がないことがわかっていることを意味します。Null は実際には不明を意味します (在庫はありますが、在庫がない可能性があります)。

アプリケーションによっては、「不明」を「在庫なし」と同じように扱うことを決定する場合があります。この場合、「ヌルなし」を使用して値を 0 にすることができます。

于 2012-09-07T17:51:48.260 に答える
0

マニュアルによると:

NULL値は「データなし」を意味します。NULL任意の大文字で書くことができます。同義語は\N(大文字と小文字を区別) です。

NOT NULLの反対を意味するNULLか、データがないわけではありません。一部の列は になる可能性があるためNULL、 を使用WHERE col IS NOT NULLして「空」ではない値を検索します。

于 2012-09-07T18:06:19.713 に答える