Eu trabalho com o Larave Framework e após atualizar a versão do MySQL comecei a ter esse problema de “Invalid default value for ‘created_at'” quando tentava fazer atualizações nas tabelas.
Isso acontece por que as novas versões do MySQL vem por padrão no sql_mode como NO_ZERO_IN_DATE,NO_ZERO_DATE e isso faz com que o valor padrão das datas timestamp não possa ser 0.
Para resolver esse problema no início do comando SQL escreva:
SET sql_mode = '';
Isso desabilita o modo durante esse comando. Você também pode desabilitar temporariamente até que o MySQL seja reiniciado usando o comando:
set global sql_mode=''
Para desabilitar de forma permanente, é preciso editar o arquivo /etc/mysql/my.cnf e setar as variáveis que deseja deixar habilitadas:
[mysqld] sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
Deixe um comentário