MySQL エラー 1364: フィールドにデフォルト値がありません が発生するのはなぜですか?

DDD
リリース: 2024-11-06 11:49:02
オリジナル
543 人が閲覧しました

Why Am I Getting MySQL Error 1364: Field Lacks Default Value?

MySQL エラー 1364 のトラブルシューティング: フィールドにデフォルト値がありません

MAMP からネイティブ MySQL 環境に移行すると、次のエラーが発生する場合があります。 INSERT コマンドの実行時にフィールドにデフォルト値がありません。この問題は、MySQL のストリクト モード、特に STRICT_ALL_TABLES 設定に関係します。

原因:

MySQL がストリクト モードで動作する場合、データベース ルールと整合性への厳密な準拠が強制されます。これには、デフォルト値のないフィールドに null または空の値を許可しないことも含まれます。

解決策:

この問題を解決するには、次のコマンドを実行して厳密モードを無効にします。

<code class="sql">SET GLOBAL sql_mode=''</code>
ログイン後にコピー

または、my.cnf 構成ファイルを変更して STRICT_ALL_TABLES が設定されていないことを確認することもできます。

  1. MySQL インストールの my.cnf ファイルを開きます。
  2. [mysqld] セクションを見つけます。
  3. 次の行があるかどうかを確認します。

    sql_mode = STRICT_ALL_TABLES
    ログイン後にコピー
  4. 存在する場合は、次の行を追加してコメントアウトします。行の先頭に # を付けます。
  5. my.cnf ファイルを保存して閉じます。

これらの変更を行った後、MySQL サービスを再起動して新しい設定を適用します。これで、デフォルト値の欠落に関するエラーが発生することなく、INSERT コマンドが正常に実行されるようになります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!