MySQL Timestamp and NOT NULL
The usual mistake is to not include (6) on the default:

DEFAULT CURRENT_TIMESTAMP(6)


See about 3/4 of the way down on https://dev.mysql.com/doc/refman/5.7/en/timestamp-initialization.html .

Also, consider that to set this to:  https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp