Depuis MySQL 5.6.5, vous pouvez utiliser le DATETIME
tapez avec une valeur dynamique par défaut :
CREATE TABLE foo (
creation_time DATETIME DEFAULT CURRENT_TIMESTAMP,
modification_time DATETIME ON UPDATE CURRENT_TIMESTAMP
)
Ou même combiner les deux règles :
modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Référence :
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
Avant 5.6.5, vous devez utiliser le TIMESTAMP
type de données, qui se met automatiquement à jour chaque fois que l'enregistrement est modifié. Malheureusement, un seul TIMESTAMP
mis à jour automatiquement le champ peut exister par table.
CREATE TABLE mytable (
mydate TIMESTAMP
)
Voir :http://dev.mysql.com/doc /refman/5.1/en/create-table.html
Si vous souhaitez empêcher MySQL de mettre à jour la valeur d'horodatage sur UPDATE
(pour qu'il ne se déclenche que sur INSERT
) vous pouvez changer la définition en :
CREATE TABLE mytable (
mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)