MySQL memperlakukan timestamp dengan cara khusus, yang agak sulit ditemukan di dokumentasi
ketika Anda tidak tahu apa yang Anda cari:
Itu berarti timestamp not null kolom akan mendapatkan nilai default implisit '0000-00-00 00:00:00' , yang tidak diperbolehkan dalam kombinasi dengan NO ZERO DATE
dan ketat
mode sql (yang secara default diaktifkan di MySQL 5.7) dan menghasilkan kesalahan Anda.
Untuk mengatasi masalah Anda, aktifkan opsi --explicit_defaults_for_timestamp
. Ini memperlakukan timestamp kolom seperti yang Anda harapkan (dan akan menjadi perilaku default di beberapa rilis MySQL di masa mendatang), atau biarkan mereka menjadi null .