MySQL zpracovává timestamp
zvláštním způsobem je to trochu těžké najít v dokumentaci
když nevíte, co hledáte:
To znamená, že vaše druhé timestamp not null
sloupec získá implicitní výchozí hodnotu '0000-00-00 00:00:00'
, což není povoleno v kombinaci s NO ZERO DATE
a přísné
sql mode (který je standardně povolen v MySQL 5.7) a vede k vaší chybě.
Chcete-li svůj problém vyřešit, povolte možnost --explicit_defaults_for_timestamp
. Zachází s timestamp
sloupce, jak jste očekávali (a stejně to bude výchozí chování v některých budoucích vydáních MySQL), nebo jim povolte, aby byly null
.