Od MySQL 5.6.5 możesz użyć DATETIME wpisz z dynamiczną wartością domyślną:
CREATE TABLE foo (
creation_time DATETIME DEFAULT CURRENT_TIMESTAMP,
modification_time DATETIME ON UPDATE CURRENT_TIMESTAMP
)
Lub nawet połącz obie zasady:
modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Odniesienie:
https://dev.mysql .com/doc/refman/5.7/en/timestamp-initialization.html
https://optimize -this.blogspot.com/2012/04/datetime-default-now-finally-available.html
Przed 5.6.5 musisz użyć TIMESTAMP typ danych, który automatycznie aktualizuje się po każdej modyfikacji rekordu. Niestety jednak tylko jeden automatycznie zaktualizowany TIMESTAMP pole może istnieć w tabeli.
CREATE TABLE mytable (
mydate TIMESTAMP
)
Zobacz:https://dev.mysql.com/doc /refman/5.1/en/create-table.html
Jeśli chcesz, aby MySQL nie aktualizował wartości znacznika czasu w UPDATE (aby uruchamiał się tylko przy INSERT ) możesz zmienić definicję na:
CREATE TABLE mytable (
mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)