MySQL tratta timestamp
in un modo speciale, è un po' difficile da trovare nelle documentazione
quando non sai cosa stai cercando:
Ciò significa che il tuo secondo timestamp not null
la colonna otterrà un valore predefinito implicito di '0000-00-00 00:00:00'
, che non è consentito in combinazione con NO ZERO DATE
e rigoroso
sql mode (che è abilitata per impostazione predefinita in MySQL 5.7) e provoca il tuo errore.
Per risolvere il tuo problema, abilita l'opzione --explicit_defaults_for_timestamp
. Tratta il timestamp
colonne come previsto (e sarà comunque il comportamento predefinito in qualche futura versione di MySQL), oppure consenti loro di essere null
.