2

私は MySQL データベースを作成しています。データは顧客のリストです。各顧客のすべてのフィールドにデータがあるわけではありません。そのため、一部のフィールドは空です。不足しているデータを完成させたいと考えていますが、SELECT を使用してレポートを作成し、データ フィールドが不足している顧客レコードを一覧表示できるようにしたいと考えています。

データが更新されるまで、これらのフィールドには何を格納する必要がありますか? NULLにする必要がありますか?空の?または、他の何か?また、MySQL TABLE を設定するとき、NULL カラムを何に設定し、DEFAULT カラムを何に設定して、データがない可能性がある状況を最適に処理する必要がありますか? ありがとう!

4

3 に答える 3

1

NULL明示的にデータがないことを意味します。

したがって、値がないことを確認したい場合は、 を使用しますNULL。それ以外の場合、他のすべてのデフォルトは値と見なされます。

空白文字列''は値です。ゼロ0も値です。

しかし、それは価値がないNULLことを意味するので特別です。

何も入力されていない行のクエリが容易になります。

-1身長や0体重の列に入力しないように、データの型チェックを行う必要があります。私たちにとっては明らかです-0高さを持つことはできませんが、データベースにとっては列に値があります-たとえそれが非論理的であり、これらの行をフィルタリングするためにクエリを調整する必要があります.

于 2012-09-22T12:25:28.737 に答える
0

私の経験では、このような場合は null を許可する必要があります。特に文字列について話します。いつの日か、空の文字列が有効な値になるかもしれません。数値フィールドと同様に、null を許可しない場合は、-9876.6789 のような「空」を意味する特別な値を使用する必要があります。

クエリを作成して null を探すときに、 のようなことをすると、誤解を招く結果になる可能性が高いことに注意してくださいfield != null。を使用したいと思うでしょうfield is not null

それが役立つことを願っています!

于 2012-09-22T12:28:21.063 に答える
0

三値論理で欠損値NULLを表す基準値なのでそのまま設定してください。UNKNOWN

于 2012-09-22T12:24:49.400 に答える