MySQL trata
timestamp
de uma maneira especial, isso é um pouco difícil de encontrar no documentação
quando você não sabe o que está procurando:Isso significa que seu segundo
timestamp not null
coluna receberá um valor padrão implícito de '0000-00-00 00:00:00'
, que não é permitido em combinação com o NO ZERO DATE
e estrito
sql mode (que é ativado por padrão no MySQL 5.7) e resulta em seu erro. Para resolver seu problema, ative a opção
--explicit_defaults_for_timestamp
. Ele trata o timestamp
colunas como você esperava (e será o comportamento padrão em alguma versão futura do MySQL de qualquer maneira), ou permita que elas sejam null
.