mysql の not null の詳細を教えてください たとえば、次のような SQL ddl ステートメント: password char(32) not null default "",//有md5 not null が定義されたので、ユーザーはパスワードを追加する必要があります。後でデフォルト値を設定するのは少し冗長ではないでしょうか。そして、長さの要件は 32 ビットで、デフォルト値は空です、 null ではないような場合は、デフォルト値が存在する必要はありません。たとえ存在したとしても、その value 属性はフィールドの属性の一致に準拠していません。解決策を見つけてください! 共有先: -----解決策--------------------------------逆に null ではない場合に何も入力しない場合は、デフォルトの入力 を押してください。 言い換えれば、null 以外を設定する場合は、default を設定するのが最善です (必須)。-----解決策-------- -無関係です! パスワードは単なる名前であり、データベースにとっては何の意味もありません not null デフォルト "" の目的は次のとおりです。値が割り当てられていない場合、デフォルト値は空の文字列になります。つまり、 を挿入するときにこの項目をデフォルトにすることができます null ではない場合、挿入時に項目には値が必要です。そうでない場合は、エラーが発生します パスワードに値が必要であることが合意されている場合は、 として定義する必要があります。 パスワード char(32) が null ではありません、 の代わりに パスワード char(32) が null ではありません デフォルト "",-----解決策---------デフォルトのものを指定するのが通例です-----解決策--------- 引用: 無関係です! パスワードは単なる名前であり、データベースにとっては何の意味もありません not null デフォルト "" の目的は次のとおりです。値が割り当てられていない場合、デフォルト値は空の文字列になります。つまり、 を挿入するときにこの項目をデフォルトにすることができます null ではない場合、項目には挿入時に値が必要です。そうでない場合はエラーが発生します パスワードに値が必要であることが合意されている場合は、 として定義する必要があります。 パスワード char(32) が null ではありません、 の代わりに パスワード char(32) が null ではありません デフォルト "", 正解、あなたのニーズは次のとおりです: パスワード char(32) が null ではありません デフォルトの "" を追加した場合、値を渡さない場合、データベースには長さ 0 の文字列 "" が格納されます。 ヌル! =「」