Un bon moyen de créer des champs comme 'créé' et 'mis à jour' est
CREATE TABLE `mytable` (
`id` INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
`created` TIMESTAMP DEFAULT '0000-00-00 00:00:00',
`updated` TIMESTAMP DEFAULT now() ON UPDATE now(),
`myfield` VARCHAR(255)
);
Et il est nécessaire d'entrer des valeurs nulles dans les deux colonnes lors de "l'insertion":
INSERT INTO mytable (created,updated,myfield) VALUES (null,null,'blablabla');
Et maintenant, dans toutes les mises à jour, le champ "mis à jour" aura une nouvelle valeur avec la date réelle.
UPDATE mytable SET myfield='blablablablu' WHERE myfield='blablabla';
Source :http://gusiev.com/2009/04 /mettre à jour et créer des horodatages avec mysql