No MySQL 5.6.5 existem várias atualizações sobre essa inicialização, você pode ver neste ligação (Propriedades de carimbo de data/hora automática antes do MySQL 5.6.5).
Se você estiver usando MySQL <=5.6.5 , para ignorar essa inicialização, você precisa definir o valor DEFAULT como 0 ou NULL com NULL permitido.
CREATE TABLE tbl
(
field1 TIMESTAMP DEFAULT 0,
field2 TIMESTAMP NULL DEFAULT NULL
)
Se você estiver usando MySQL>=5.6.6 , existe um parâmetro chamado explicit_defaults_for_timestamp que está desabilitado por padrão. Você pode habilitar esta configuração ou definir o valor DEFAULT para 0 ou NULL, mesma abordagem para versões anteriores do MySQL.
Se você estiver usando MySQL>=8.0.2 , então explicit_defaults_for_timestamp está ativado por padrão. Isso desativa o comportamento não padrão (felizmente). Além disso, o MySQL gera um aviso quando você desabilita essa configuração. Então, por exemplo, se você não definir o valor DEFAULT para um
TIMESTAMP
coluna, ela é definida automaticamente como NULL
.