sql >> データベース >  >> RDS >> Mysql

日付時刻の値が正しくありませんデータベースエラー番号:1292

    MySQL 5.7にアップグレードした後、クエリで日付を指定していなくても、このエラーがランダムな状況で発生し始めたことを発見しました。

    これは、が原因のようです MySQLのバージョンは、0000-00-00 00:00:00のような日付をサポートしていました (デフォルト)ただし、5.7.4ではNO_ZERO_DATEにいくつかの変更が加えられました 設定。新しいバージョンのMySQLを使用しているときに古いデータがまだ存在する場合は、ランダムエラーが発生する可能性があります。

    すべてのゼロの日付を別の日付にリセットするには、このようなクエリを実行する必要がありました。

    # If the columns supports NULL, use that
    UPDATE table SET date_column = NULL WHERE date_column < '1000-01-01';
    
    # Otherwise supply another default date
    UPDATE table SET date_column = '1970-01-01' WHERE date_column < '1000-01-01';
    

    または、NO_ZERO_DATEを調整できる場合があります 設定、ただしドキュメントの内容に注意してください:



    1. SQL-別のテーブルからのカウントを使用して注文する方法

    2. SQL Server(T-SQL)でのREPLICATE()関数のしくみ

    3. mysqlに外部からの接続を受け入れさせる方法

    4. mysql:1つのクエリで選択、挿入、削除、更新