Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Valor de data e hora incorreto Número de erro do banco de dados:1292


Descobri depois de atualizar para o MySQL 5.7 que esse erro começou a ocorrer em situações aleatórias, mesmo quando eu não estava fornecendo uma data na consulta.

Isso parece ser porque anterior versões de datas compatíveis com MySQL, como 0000-00-00 00:00:00 (por padrão) no entanto 5.7.4 introduziu algumas mudanças no NO_ZERO_DATE contexto. Se você ainda tiver dados antigos presentes ao usar uma versão mais recente do MySQL, erros aleatórios podem surgir.

Eu precisava realizar uma consulta assim para redefinir todas as datas zero para outra data.
# 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';

Como alternativa, você pode ajustar o NO_ZERO_DATE configuração, embora observe o que os documentos dizem sobre isso: