MySQL エラー 1364 のトラブルシューティング: フィールドにデフォルト値がありません
MAMP からネイティブ MySQL 環境に移行すると、次のエラーが発生する場合があります。 INSERT コマンドの実行時にフィールドにデフォルト値がありません。この問題は、MySQL のストリクト モード、特に STRICT_ALL_TABLES 設定に関係します。
原因:
MySQL がストリクト モードで動作する場合、データベース ルールと整合性への厳密な準拠が強制されます。これには、デフォルト値のないフィールドに null または空の値を許可しないことも含まれます。
解決策:
この問題を解決するには、次のコマンドを実行して厳密モードを無効にします。
<code class="sql">SET GLOBAL sql_mode=''</code>
または、my.cnf 構成ファイルを変更して STRICT_ALL_TABLES が設定されていないことを確認することもできます。
次の行があるかどうかを確認します。
sql_mode = STRICT_ALL_TABLES
これらの変更を行った後、MySQL サービスを再起動して新しい設定を適用します。これで、デフォルト値の欠落に関するエラーが発生することなく、INSERT コマンドが正常に実行されるようになります。
以上がMySQL エラー 1364: フィールドにデフォルト値がありません が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。