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 など) では、日時値に対してより厳密な検証が適用されるため、テーブルのインポート時または日付列の変更時にこのエラーが発生します。
トラブルシューティングの手順
このエラーを解決するには、次の手順に従います。
SELECT * FROM users WHERE created = '0000-00-00 00:00:00';
UPDATE users SET created = '1970-01-01 00:00:00' WHERE created = '0000-00-00 00:00:00';
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 サイトの他の関連記事を参照してください。