Avez-vous essayé d'utiliser null pour ce champ lors de la mise à jour ?
Vous pouvez également essayer de définir la valeur par défaut sur CURRENT_TIMESTAMP
, plutôt que 0000-00-00 00:00:00
.
Néanmoins, chaque fois que je veux avoir le temps de création et de mise à jour, j'utilise toujours ce qui suit :
...
CREATED timestamp NOT NULL default '0000-00-00 00:00:00',
UPDATED timestamp NOT NULL default now() on update now(),
....
J'utilise now()
, car est un alias pour CURRENT_TIMESTAMP
et c'est plus court. À la fin, la structure de la table obtient CURRENT_TIMESTAMP
, alors ne vous inquiétez pas.
L'astuce avec CREATED
le champ est de se rappeler d'utiliser null sur les deux champs pour INSERT
instructions, pour UPDATE
déclarations ce n'est pas obligatoire :
INSERT INTO mytable (field1, field2, created, updated)
VALUES ('foo', 'bar', null, null);