ホームページ  >  記事  >  バックエンド開発  >  mysqlがnullではない詳細についてはお尋ねください

mysqlがnullではない詳細についてはお尋ねください

WBOY
WBOYオリジナル
2016-06-23 14:17:34886ブラウズ

たとえば、次のような SQL ddl ステートメント:

password char(32) not null default "",//有md5


not null が定義されたので、ユーザーは後でデフォルト値を追加する必要があり、少し冗長ではないでしょうか。そして、私の長さの要件は 32 ビットで、デフォルト値は空です

null ではない場合、デフォルト値が存在する必要はありません。たとえ存在しても、その value 属性は準拠しません。フィールドの属性一致?解決策を見つけてください!


ディスカッションに返信(解決策)

逆に

not nullの場合は何も入力しない場合は、デフォルトの入力を押してください

つまり、not nullを設定するとベストです(must) ) デフォルトを設定します

ミリメートル 無関係です!

パスワードは単なる名前であり、データベースにとっては意味がありません

null ではありません デフォルト "" の目的は次のとおりです: 値が割り当てられていない場合、デフォルト値は空の文字列です。つまり、この項目は挿入時にデフォルトにすることができます
null でないだけの場合、挿入時に項目には値が必要です。そうでない場合はエラーが発生します

パスワードに値が必要であることが合意されている場合は、その値を指定する必要があります
パスワード char(32) not null,
と定義されています
パスワード char(32) not null デフォルト "",

デフォルトを与えるのが通例です

それとは何の関係もありません!

パスワードは単なる名前であり、データベースにとっては意味がありません

null ではありません デフォルト "" の目的は次のとおりです: 値が割り当てられていない場合、デフォルト値は空の文字列です。つまり、この項目は挿入時にデフォルトにすることができます
null でないだけの場合、挿入時に項目には値が必要です。そうでない場合はエラーが発生します

パスワードに値が必要であることが合意されている場合は、その値を指定する必要があります
パスワード char(32) not null、
And Not
パスワード char(32) not null デフォルト ""、
正解、要件は次のとおりです:
パスワード char(32) not null

デフォルト "" を追加した場合、長さ 0 の文字列 "" の値を渡さない場合、データベースはそれを保存します。
ヌル! =「」

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。