ホームページ >データベース >mysql チュートリアル >MySQL 5.7.11 が「不正な日付値: '0000-00-00'」を返すのはなぜですか? それを修正するにはどうすればよいですか?

MySQL 5.7.11 が「不正な日付値: '0000-00-00'」を返すのはなぜですか? それを修正するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-23 09:38:14312ブラウズ

Why Does MySQL 5.7.11 Return

間違った日付値の問題: '0000-00-00'

MySQL バージョン 5.7.11 では、ユーザーがテーブルに値を挿入する際に問題が発生しました。 phpMyAdminを使用して、デフォルト値「0000-00-00」を持つ日付型列。報告されたエラーは「不正な日付値: '0000-00-00'」です。

根本原因の理解

調査の結果、このエラーは SQL モード設定が原因であることが判明しました。 、具体的には、厳密モードの組み込みです。 MySQL 5.7 では、有効な日付として「0000-00-00」を拒否するなど、より厳格な検証がデフォルトで適用されます。

問題の解決

この問題を解決するには、次のことが必要です。厳密モードを無効にします。これは、次のクエリを実行することで実現できます。

SET GLOBAL sql_mode = '';

このクエリを実行すると、厳密モードが一時的に無効になり、「0000-00-00」を有効な日付として挿入できるようになります。エラー。

追加情報

SQL モード設定の詳細については、MySQL ドキュメントを参照してください。この問題は、バージョン 5.7 で導入された既知の動作変更として MySQL チームによって報告され、認められています。この特定の問題を解決するには、厳密モードを無効にするのが一般的な解決策です。

以上がMySQL 5.7.11 が「不正な日付値: '0000-00-00'」を返すのはなぜですか? それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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