ホームページ >データベース >mysql チュートリアル >MySQL エラー 1292:「日付時刻値が正しくありません」を修正する方法?

MySQL エラー 1292:「日付時刻値が正しくありません」を修正する方法?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-02 09:07:13661ブラウズ

How to Fix MySQL Error 1292:

不正な日時値: MySQL エラー 1292 の解決

日時値が '0000-00-00 00 として保存されている既存のデータベースを変換する場合: 00:00 '、ユーザーは MySQL エラー 1292 に遭遇する可能性があります。 「日時値が正しくありません。」このエラーは、元の MySQL データベース (5.1 など) と、日付時刻値の処理方法が異なる新しいバージョン (5.7 など) の間のバージョンの競合が原因で発生します。

この問題を解決するには、次の手順を実行できます。

オプション 1: '0000-00-00 を変換する00:00:00' to NULL

  1. 次のクエリを使用して、'0000-00-00 00:00:00' の日時列を NULL に変換しようとします:
ALTER TABLE users MODIFY created datetime NULL DEFAULT '1970-01-01 00:00:00';

これが失敗した場合は、オプションに進みます2.

オプション 2: CHAR 変換を使用する

  1. 値が '0000-00- の場合にのみ datetime 列を NULL に設定して、影響を受ける行を更新します。 00 00:00:00' を文字としてstring:
UPDATE users SET created = NULL WHERE CAST(created AS CHAR(20)) = '0000-00-00 00:00:00';

この代替クエリでは、CAST 関数を使用して日時値を 20 文字の文字列に変換し、結果が '0000-00-00 00:00: と一致する行のみを更新します。 00'.

更新が完了すると、データベース テーブルの文字セットと照合順序を問題なく変更できるようになります。日時値が正しくありませんというエラーが発生しました。

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

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