A partir de MySQL 5.6.5, puede usar DATETIME
escriba con un valor predeterminado dinámico:
CREATE TABLE foo (
creation_time DATETIME DEFAULT CURRENT_TIMESTAMP,
modification_time DATETIME ON UPDATE CURRENT_TIMESTAMP
)
O incluso combinar ambas reglas:
modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Referencia:
http://dev.mysql .com/doc/refman/5.7/en/timestamp-initialization.html
http://optimize -this.blogspot.com/2012/04/datetime-default-ahora-finalmente-disponible.html
Antes de 5.6.5, debe usar el TIMESTAMP
tipo de dato, que se actualiza automáticamente cada vez que se modifica el registro. Desafortunadamente, sin embargo, solo un TIMESTAMP
actualizado automáticamente el campo puede existir por tabla.
CREATE TABLE mytable (
mydate TIMESTAMP
)
Ver:http://dev.mysql.com/doc /refman/5.1/en/create-table.html
Si desea evitar que MySQL actualice el valor de la marca de tiempo en UPDATE
(para que solo se active en INSERT
) puede cambiar la definición a:
CREATE TABLE mytable (
mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)