Uma boa maneira de criar campos como 'criado' e 'atualizado' é
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)
);
E é necessário inserir nulos em ambas as colunas durante "inserir":
INSERT INTO mytable (created,updated,myfield) VALUES (null,null,'blablabla');
E agora, em todas as atualizações, o campo 'atualizado' terá um novo valor com data real.
UPDATE mytable SET myfield='blablablablu' WHERE myfield='blablabla';
Fonte:http://gusiev.com/2009/04 /update-and-create-timestamps-with-mysql