Från och med MySQL 5.6.5 kan du använda DATETIME
typ med ett dynamiskt standardvärde:
CREATE TABLE foo (
creation_time DATETIME DEFAULT CURRENT_TIMESTAMP,
modification_time DATETIME ON UPDATE CURRENT_TIMESTAMP
)
Eller till och med kombinera båda reglerna:
modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Referens:
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
Före 5.6.5 måste du använda TIMESTAMP
datatyp, som automatiskt uppdateras när posten ändras. Tyvärr, dock bara en automatiskt uppdaterad TIMESTAMP
fält kan finnas per tabell.
CREATE TABLE mytable (
mydate TIMESTAMP
)
Se:http://dev.mysql.com/doc /refman/5.1/en/create-table.html
Om du vill förhindra MySQL från att uppdatera tidsstämpelvärdet på UPDATE
(så att den bara utlöses vid INSERT
) kan du ändra definitionen till:
CREATE TABLE mytable (
mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)