От MySQL 5.6.5 можете да използвате DATETIME тип с динамична стойност по подразбиране:
CREATE TABLE foo (
creation_time DATETIME DEFAULT CURRENT_TIMESTAMP,
modification_time DATETIME ON UPDATE CURRENT_TIMESTAMP
)
Или дори комбинирайте двете правила:
modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Справка:
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
Преди 5.6.5, трябва да използвате TIMESTAMP тип данни, който автоматично се актуализира всеки път, когато записът бъде променен. За съжаление обаче само един автоматично актуализиран TIMESTAMP поле може да съществува за всяка таблица.
CREATE TABLE mytable (
mydate TIMESTAMP
)
Вижте:https://dev.mysql.com/doc /refman/5.1/en/create-table.html
Ако искате да попречите на MySQL да актуализира стойността на времевата марка при UPDATE (така че се задейства само при INSERT ) можете да промените определението на:
CREATE TABLE mytable (
mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)