W MySQL 5.6.5 istnieje kilka aktualizacji dotyczących tej inicjalizacji, możesz zobaczyć na tym link (Automatyczne właściwości znacznika czasu przed MySQL 5.6.5).
Jeśli używasz MySQL <=5.6.5 , aby zignorować tę inicjalizację, musisz ustawić wartość DEFAULT na 0 lub NULL z dozwoloną wartością NULL.
CREATE TABLE tbl
(
field1 TIMESTAMP DEFAULT 0,
field2 TIMESTAMP NULL DEFAULT NULL
)
Jeśli używasz MySQL>=5.6.6 , istnieje parametr o nazwie explicit_defaults_for_timestamp który jest domyślnie wyłączony. Możesz włączyć to ustawienie lub ustawić wartość DEFAULT na 0 lub NULL, to samo podejście do poprzednich wersji MySQL.
Jeśli używasz MySQL>=8.0.2 , a następnie explicit_defaults_for_timestamp
jest włączony domyślnie. To wyłącza niestandardowe zachowanie (na szczęście). Ponadto MySQL generuje ostrzeżenie, gdy wyłączysz to ustawienie. Na przykład, jeśli nie zdefiniujesz wartości DEFAULT dla TIMESTAMP
kolumna, jest automatycznie ustawiana na NULL
.