Ab MySQL 5.6.5 können Sie den DATETIME
verwenden Typ mit einem dynamischen Standardwert:
CREATE TABLE foo (
creation_time DATETIME DEFAULT CURRENT_TIMESTAMP,
modification_time DATETIME ON UPDATE CURRENT_TIMESTAMP
)
Oder kombinieren Sie sogar beide Regeln:
modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Referenz:
http://dev.mysql .com/doc/refman/5.7/en/timestamp-initialization.html
http://optimieren -this.blogspot.com/2012/04/datetime-default-now-finally-available.html
Vor 5.6.5 müssen Sie den TIMESTAMP
verwenden Datentyp, der automatisch aktualisiert wird, wenn der Datensatz geändert wird. Leider aber nur ein automatisch aktualisierter TIMESTAMP
Feld kann pro Tabelle existieren.
CREATE TABLE mytable (
mydate TIMESTAMP
)
Siehe:http://dev.mysql.com/doc /refman/5.1/en/create-table.html
Wenn Sie verhindern möchten, dass MySQL den Zeitstempelwert bei UPDATE
aktualisiert (so dass es nur bei INSERT
ausgelöst wird ) können Sie die Definition ändern in:
CREATE TABLE mytable (
mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)