From MySQL docs Upgrading from MySQL 5.5 to 5.6
TIMESTAMP columns declared as NOT NULL and without an explicit DEFAULT clause are treated as having no default value. For inserted rows that specify no explicit value for such a column, the result depends on the SQL mode. If strict SQL mode is enabled, an error occurs. If strict SQL mode is not enabled, the column is assigned the implicit default of '0000-00-00 00:00:00' and a warning occurs. This is similar to how MySQL treats other temporal types such as DATETIME.
So you should set the CURRENT_TIMESTAMP
as DEFAULT
for this field, ON UPDATE
isn't sufficient.