MySQL: Invalid default value for ‘created_at’

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

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *