Har du testat att använda null för det fältet när du uppdaterar?
Du kan också prova att ställa in standardvärdet till CURRENT_TIMESTAMP istället för 0000-00-00 00:00:00 .
Ändå, när jag vill ha tid att skapa och uppdatera använder jag alltid följande:
...
CREATED timestamp NOT NULL default '0000-00-00 00:00:00',
UPDATED timestamp NOT NULL default now() on update now(),
....
Jag använder now() , eftersom är ett alias för CURRENT_TIMESTAMP och den är kortare. I slutet får tabellstrukturen CURRENT_TIMESTAMP , så oroa dig inte.
Tricket med CREATED fältet är att komma ihåg att använda null i båda fälten för INSERT uttalanden, för UPDATE uttalanden krävs det inte:
INSERT INTO mytable (field1, field2, created, updated)
VALUES ('foo', 'bar', null, null);