ホームページ > データベース > mysql チュートリアル > MySQL の「日付時刻値が正しくありません: \'0000-00-00 00:00:00\'」エラーを修正するにはどうすればよいですか?

MySQL の「日付時刻値が正しくありません: \'0000-00-00 00:00:00\'」エラーを修正するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-27 08:59:10
オリジナル
146 人が閲覧しました

How to Fix MySQL's

MySQL 'Incorrect datetime value' エラー: '0000-00-00 00:00:00' 日付の処理

MySQL のアップグレード時古いバージョンのデータベースを使用すると、「日時値が正しくありません:」というエラーが発生する場合があります。テーブル列を変更しようとしているときに、行 1 で列「作成」されました。「0000-00-00 00:00:00」。このエラーは、データベースに保存されている日時値が古いために発生します。

Background

MySQL 5.1 では、「0000-00-00 00:00:00」値を使用して、空のフィールドなど、不明または無効なタイムスタンプを表します。ただし、MySQL のそれ以降のバージョン (5.7 など) では、日時値に対してより厳密な検証が適用されるため、テーブルのインポート時または日付列の変更時にこのエラーが発生します。

トラブルシューティングの手順

このエラーを解決するには、次の手順に従います。

  1. 次のエラーが発生していないか確認します。影響を受ける列の「0000-00-00 00:00:00」:
SELECT * FROM users WHERE created = '0000-00-00 00:00:00';
ログイン後にコピー
  1. 「0000-00-00 00:00:00」値が存在する場合は、それらを更新します許容可能な日時値 ('1970-01-01 など) 00:00:00':
UPDATE users SET created = '1970-01-01 00:00:00' WHERE created = '0000-00-00 00:00:00';
ログイン後にコピー
  1. または、次のクエリを使用して、すべての '0000-00-00 00:00:00' 値を NULL に更新することもできます:
UPDATE users SET created = NULL WHERE CAST(created AS CHAR(20)) = '0000-00-00 00:00:00';
ログイン後にコピー

重要注

値を更新する前に、選択した日時値がアプリケーションの要件と互換性があることを確認してください。空のフィールドはアプリケーション ロジックで特定の意味を持っている場合があるため、空のフィールドを NULL またはデフォルトの日付に置き換えると問題が発生する可能性があります。

以上がMySQL の「日付時刻値が正しくありません: \'0000-00-00 00:00:00\'」エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート