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

MySQL がアップグレード後に「不正な日付値: '0000-00-00'」をスローするのはなぜですか? それを修正するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-27 21:25:10779ブラウズ

Why Does MySQL Throw

1292 - 間違った日付値: '0000-00-00' [重複]

説明:

エラー「日付値が正しくありません: '0000-00-00'" は、日付値 '0000-00-00' を日付列に挿入しようとすると発生します。このエラーは、最近の MySQL アップグレード後に発生しました。

原因:

問題は SQL モード、特に厳密モードに関連しています。 MySQL 5.7 の登場により、厳密モードはより厳密になり、「0000-00-00」などの無効な日付値の挿入が禁止されています。

解決策:

エラーを解決するには、次のコマンドを実行して厳密モードを無効にします。クエリ:

SET GLOBAL sql_mode = '';

このアクションにより、厳密モードが非アクティブになり、「0000-00-00」日付値の挿入が許可されます。

追加メモ:

  • 質問で提供されたクエリは、日付列という名前のテーブルにさまざまなデータを挿入しようとします。 「fm_sctrdate」。この列は、デフォルト値「0000-00-00」で構成されています。
  • 今後のエラーを防ぐには、有効な日付値を使用するか、アプリケーション コード内の特殊なケースで日付値に対応することが重要です。

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

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