データベースの特定のフィールドが Null に設定されている場合、モバイル端末はデフォルトで Null を返します。モバイル端末に null を返してもらいたい場合は、判断する必要があります。
1. 携帯電話を何も判断せずに空に戻したい場合、テーブルフィールドのデフォルトをどのように設定すればよいですか?
2. テーブルフィールドのデフォルトを Null、""、または空の文字列に設定する方がよいでしょうか?それらは違うのでしょうか?
データベースの特定のフィールドが Null に設定されている場合、モバイル端末はデフォルトで Null を返します。モバイル端末に null を返してもらいたい場合は、判断する必要があります。
1. 携帯電話を何も判断せずに空に戻したい場合、テーブルフィールドのデフォルトをどのように設定すればよいですか?
2. テーブルフィールドのデフォルトを Null、""、または空の文字列に設定する方がよいでしょうか?それらは違うのでしょうか?
1: NULL 値 ('') はスペースを占有しません。
2: MySQL の NULL は実際にスペースを占有します。公式文書の説明:
「NULL 列には、その値が NULL かどうかを記録するために行に追加のスペースが必要です。MyISAM テーブルの場合、各 NULL 列は 1 ビット余分に必要となり、最も近いバイトに切り上げられます。そのため、お勧めできません。」 MySQL でテーブルを設計するときはデフォルトの NULL を使用してください
string 型はデフォルトの '' int 型でデフォルトの 0 にすることができます
投稿者がフィールドが空かどうかを確認したい場合は、php を使用して処理してください
SQL: NULL 値とデフォルト値の使用
デフォルト: NULL を使用するのは良いことですか?
MySQL でテキストおよび整数フィールドのデフォルト値としてデフォルト値なし、NULL、または 0 を使用するのは良いことですか?
まずは3つあげます
stackoverflow
上关于该问题的讨论吧,其实我个人感觉是使用默认值还是NULL
携帯電話とのインターフェースは問題を返します。これは通常
を通じて行われます。
restful
接口来交换数据的,其它语言我不是很清楚,但是在Java
中实现返回值过滤或者默认值转换是非常easy
的。参考setPropertyInclusion
NULL を避けるようにしてください
通常、NULL 値を格納する必要がない限り、カラムを NOT NULL として指定するのが最善です。mysql テーブルの定義時にカラムが NOT NULL として指定されていない場合は、デフォルトで NULL が許可されます。
クエリに NULL になる可能性のあるカラムが含まれている場合、MySQL の最適化はより困難になります。 NULL になる可能性のある列により、インデックス、インデックス統計、値の比較がより複雑になるためです。NULL にできる列はより多くのストレージ領域を使用し、MYSQL での特別な処理が必要になります。
NULL 可能な列にインデックスが付けられると、各インデックス レコードに追加のバイトが必要になり、MyISAM では固定サイズのインデックス (整数列が 1 つだけあるインデックスなど) が可変サイズのインデックスになる可能性もあります。
一般に、NULL 可能な列を NOT NULL に変更することによってもたらされるパフォーマンスの向上は比較的小さいため、問題が発生すると判断されない限り、チューニング時に最初にこの状況を変更する必要はありません。ただし、列にインデックスを構築する予定がある場合は、列が NULL になるように設計しないようにする必要があります。もちろん例外もあります。たとえば、InnoDB は NULL 値を格納するために別のビットを使用します。これにより、スパース データに対して優れたスペース効率が得られます。これは MyISAM には適用されません。
(スパースデータ: 多くの値が NULL であり、いくつかの値が NULL ではないことを指します)
個人的には、主に null の配置に依存すると思います。配置が発生してはいけない異常なエラーである場合は、null に設定することをお勧めします。配置が正常で起こり得る状況である場合は、null を設定することをお勧めします。それを「」にします。