ホームページ > バックエンド開発 > PHPチュートリアル > javascript - データベース テーブルの特定のフィールドのデフォルトを Null、''、または空の文字列に設定する方が良いですか?携帯電話では空のまま返したいだけ

javascript - データベース テーブルの特定のフィールドのデフォルトを Null、''、または空の文字列に設定する方が良いですか?携帯電話では空のまま返したいだけ

WBOY
リリース: 2016-08-31 08:54:56
オリジナル
1225 人が閲覧しました

データベースの特定のフィールドが 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

これは「ハイパフォーマンス MySQL」で述べられていることです:

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 を設定することをお勧めします。それを「」にします。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート