ホームページ >データベース >mysql チュートリアル >「フィールド \'display_name\' にはデフォルト値がありません」という MySQL エラーが発生するのはなぜですか?

「フィールド \'display_name\' にはデフォルト値がありません」という MySQL エラーが発生するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-04 02:32:301030ブラウズ

Why am I Getting the

MySql エラー:「フィールド 'display_name' にデフォルト値がありません」解決済み

MAMP インストールからネイティブ Apache への移行中、MySql、および PHP 環境では、「display_name」フィールドのデフォルト値がないことを示す MySql エラー 1364 が発生しました。この問題は、INSERT コマンド中に発生しました。これは、以前は可能であったフィールドを空白のままにすることができなかったことが原因であると考えられます。

根本原因の特定

この問題の根本的な原因MySql の潜在的な STRICT モードにあります。この厳格モードでは、データベースはすべての列にデフォルト値または null 以外の値を強制的に割り当て、空白エントリの挿入を禁止します。

問題の解決

この状況を修正するには、主に 2 つのアプローチがあります:

  1. STRICT モードの無効化:

    SQL コマンドの実行:

    <code class="sql">SET GLOBAL sql_mode=''</code>
  2. my.cnf の変更:

    a. my.cnf ファイルに移動します。通常は /etc/mysql/ にあります。 .
    b. 次の行を見つけるか追加します:

    sql_mode=

    c. MySQL サービスを再起動します。

その他の考慮事項

  • どちらの方法でも問題が解決しない場合は、NULL 値を妨げている可能性のあるテーブル レベルまたは列レベルの制約がないか確認してください。
  • データベース ユーザーが、問題のテーブルにデータを挿入するための十分な権限を持っていることを確認してください。
  • 列定義にデフォルト値が含まれているか、NULL 値が許可されていることを確認してください。

以上が「フィールド 'display_name' にはデフォルト値がありません」という MySQL エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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