MySQL timestamp faq:how can i update a MySQL timestamp field when I issue an update for a MySQL database table?
MySQL has some crazy rules on how to timestamp fields can is created, but one nice "timestamp update" syntax you can use L Ooks like this, assuming that you ' re declaring a timestamp field named last_updated
:
last_updated timestamp default current_timestamp on update Current_timestamp,
With this MySQL timestamp update syntax in your MySQL ' CREATE table ' syntax, this timestamp field would be updated every TI Me issue a SQL UPDATE statement on this table.
Update MySQL Timestamp-example
Here's a short MySQL example so demonstrates how this automatic timestamp update process works:
Mysql> CREATE TABLE Test (foo int, last_updated timestamp default current_timestamp on update current_timestamp); Query OK, 0 rows affected (0.11 sec) mysql> insert into Test (foo) values (1); Query OK, 1 row affected (0.01 sec) mysql> select * from test;+------+---------------------+| Foo | last_updated |+------+---------------------+| 1 | 2010-12-15 15:15:28 |+------+---------------------+1 row in Set (0.00 sec) mysql> Update test set foo=2; Query OK, 1 row affected (0.03 sec) Rows matched:1 changed:1 warnings:0mysql> SELECT * FROM test;+------+---- -----------------+| Foo | last_updated |+------+---------------------+| 2 | 2010-12-15 15:15:46 |+------+---------------------+1 row in Set (0.00 sec)
Note that the "default Current_timestamp" syntax isn ' t necessary for this example; That part of the MySQL TIMESTAMP syntax sets the default MySQL TIMESTAMP to ' now ' on SQL INSERT statements. The "on UPDATE" section of the MySQL syntax is what gives us this SQL UPDATE behavior.
For more information in the MySQL TIMESTAMP field data type, see the MySQL TIMESTAMP docs:http://dev.mysql.com/doc/refman /5.0/en/timestamp.html.
Update MySQL timestamp on update