Un buon modo per creare campi come "creato" e "aggiornato" è
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)
);
Ed è necessario inserire valori null in entrambe le colonne durante "insert":
INSERT INTO mytable (created,updated,myfield) VALUES (null,null,'blablabla');
E ora, in tutti gli aggiornamenti, il campo "aggiornato" avrà un nuovo valore con la data effettiva.
UPDATE mytable SET myfield='blablablablu' WHERE myfield='blablabla';
Fonte:http://gusiev.com/2009/04 /aggiorna-e-crea-timestamp-con-mysql