A partir do MySQL 5.6.5, você pode usar o
DATETIME
digite com um valor padrão dinâmico:CREATE TABLE foo (
creation_time DATETIME DEFAULT CURRENT_TIMESTAMP,
modification_time DATETIME ON UPDATE CURRENT_TIMESTAMP
)
Ou até mesmo combinar as duas regras:
modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Referência:
http://dev.mysql .com/doc/refman/5.7/en/timestamp-initialization.html
http://optimize -this.blogspot.com/2012/04/datetime-default-now-finally-available.html
Antes de 5.6.5, você precisa usar o
TIMESTAMP
tipo de dados, que é atualizado automaticamente sempre que o registro é modificado. Infelizmente, no entanto, apenas um TIMESTAMP
atualizado automaticamente campo pode existir por tabela. CREATE TABLE mytable (
mydate TIMESTAMP
)
Veja:http://dev.mysql.com/doc /refman/5.1/en/create-table.html
Se você quiser evitar que o MySQL atualize o valor do timestamp em
UPDATE
(para que seja acionado apenas em INSERT
) você pode alterar a definição para:CREATE TABLE mytable (
mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)