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);