Fra og med MySQL 5.6.5 kan du bruge DATETIME
skriv med en dynamisk standardværdi:
CREATE TABLE foo (
creation_time DATETIME DEFAULT CURRENT_TIMESTAMP,
modification_time DATETIME ON UPDATE CURRENT_TIMESTAMP
)
Eller endda kombinere begge regler:
modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Reference:
http://dev.mysql .com/doc/refman/5.7/da/timestamp-initialization.html
http://optimize -this.blogspot.com/2012/04/datetime-default-now-finally-available.html
Før 5.6.5 skal du bruge TIMESTAMP
datatype, som automatisk opdateres, hver gang posten ændres. Desværre er der dog kun én automatisk opdateret TIMESTAMP
felt kan eksistere pr. tabel.
CREATE TABLE mytable (
mydate TIMESTAMP
)
Se:http://dev.mysql.com/doc /refman/5.1/da/create-table.html
Hvis du vil forhindre MySQL i at opdatere tidsstempelværdien på UPDATE
(så den kun udløses på INSERT
) kan du ændre definitionen til:
CREATE TABLE mytable (
mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)