ホームページ >データベース >mysql チュートリアル >MySQL で「不正な日付値」エラーが発生するのはなぜですか?

MySQL で「不正な日付値」エラーが発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-29 07:55:02429ブラウズ

Why am I getting an

MySQL での不正な日付値エラー

MySQL テーブルにデータを挿入しようとすると、正しくないことを示すエラー コード 1292 が発生する場合があります。日付の値。このエラーは、MySQL でサポートされていない日付形式を使用するときによく発生します。

指定された例では、クエリは 'dd-mm-yyyy' 形式で日付を挿入しようとしていますが、これは認識されません。 MySQLによる。この問題を解決するには、クエリの日付形式をサポートされている形式に変更する必要があります。

MySQL バージョン 5.7 以降では、デフォルトの SQL モードは厳密であり、無効な日付の挿入などの特定の操作が許可されません。値がゼロの日付 (「0000-00-00 00:00:00」など) を許可するには、SQL モードを変更する必要があります。

エラー 1292 を解決する手順:

  1. MySQL 構成ファイルの編集:

    • テキスト エディターで MySQL 構成ファイル /etc/mysql/my.cnf を開きます (例: nano).
    • [mysqld] セクションを見つけます。
  2. 新しい SQL モード設定を追加します:

    • 次の行を [mysqld] セクションに追加します:
    sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  3. MySQL Server を再起動します:

    • 次のコマンドを実行して MySQL サービスを再起動します:
    sudo service mysql restart
  4. データの再挿入:

    • 再起動後MySQL、正しい日付形式 (例: '2012-05-01') でクエリを再実行します。
  5. 追加メモ:

    • MySQL バージョン 5.7 より前の場合は、代わりに ZERODATE および NO_ZERO_IN_DATE SQL モード設定を使用できます。
    • エラーが解決しない場合は、data_apertura カラムに定義されているデータ型と制約を確認してください。テーブル。

以上がMySQL で「不正な日付値」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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