Heb je geprobeerd om null voor dat veld te gebruiken bij het updaten?
U kunt ook proberen de standaardwaarde in te stellen op CURRENT_TIMESTAMP
, in plaats van 0000-00-00 00:00:00
.
Niettemin, wanneer ik tijd wil hebben voor het maken en bijwerken, gebruik ik altijd het volgende:
...
CREATED timestamp NOT NULL default '0000-00-00 00:00:00',
UPDATED timestamp NOT NULL default now() on update now(),
....
Ik gebruik now()
, omdat het een alias is voor CURRENT_TIMESTAMP
en het is korter. Aan het einde krijgt de tabelstructuur CURRENT_TIMESTAMP
, dus maak je geen zorgen.
De truc met CREATED
veld is om te onthouden dat u null op beide velden moet gebruiken voor INSERT
verklaringen, voor UPDATE
verklaringen is het niet vereist:
INSERT INTO mytable (field1, field2, created, updated)
VALUES ('foo', 'bar', null, null);