MySQL エラー 1292: 不正な日時値
MySQL では、テーブルのデータ型または文字セットを変更しようとすると、「不正です」というエラーが発生する可能性があります。日時値」エラー。このシナリオは、既存のデータが新しいデータ型またはエンコーディングと競合する場合に発生します。
たとえば、latin1 文字セットを使用してデータベースから UTF-8 を使用する MySQL 5.7 にデータをインポートすると、このエラーが発生する可能性があります。特定の列を変更しようとしたとき。
具体的には、datetime 列に無効な値 '0000-00-00 が含まれている場合00:00:00' の場合、この問題が発生する可能性があります。これを解決するには、次の手順を試してください:
SELECT * FROM users 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';
ALTER TABLE users MODIFY first_name varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
CAST 関数を使用すると、日時値を文字列に変換できます。その後、文字列を無効な値と比較し、値を上げずに NULL に更新できます。エラー。
以上がMySQL エラー 1292: テーブル変更中の日付時刻値が正しくないを解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。