A partire da MySQL 5.6.5, puoi usare DATETIME
digitare con un valore predefinito dinamico:
CREATE TABLE foo (
creation_time DATETIME DEFAULT CURRENT_TIMESTAMP,
modification_time DATETIME ON UPDATE CURRENT_TIMESTAMP
)
O anche combinare entrambe le regole:
modification_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Riferimento:
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
Prima della 5.6.5, è necessario utilizzare il TIMESTAMP
tipo di dati, che si aggiorna automaticamente ogni volta che il record viene modificato. Sfortunatamente, tuttavia, solo un TIMESTAMP
aggiornato automaticamente campo può esistere per tabella.
CREATE TABLE mytable (
mydate TIMESTAMP
)
Vedere:http://dev.mysql.com/doc /refman/5.1/en/create-table.html
Se vuoi impedire a MySQL di aggiornare il valore del timestamp su UPDATE
(in modo che si attivi solo su INSERT
) puoi modificare la definizione in:
CREATE TABLE mytable (
mydate TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)