Jump to content

A field that updates with server time on any row update - mysql


Go to solution Solved by mac_gyver,

Recommended Posts

Is there any way to have a field that will update any time its row is updated?

 

My situation is that I will have multiple devices writing to a database, and in one case the time that is being kept track of is important.  And the devices writing to the database are a bit difficult to keep accurate times on, so instead of writing the time from the devices themselves, I was hoping I could just have a field update itself. I know it can be done on INSERT, but I do not want to do an INSERT every time.

 

Thanks!

  • Solution

you can define the column to be a TIMESTAMP data type and use ON UPDATE CURRENT_TIMESTAMP in the definition to get it to only automatically update it's value when the row in updated.

 

ref: http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html

You could set a DATETIME field called last_updated and add it to your UPDATE statement

 

UPDATE yourTable SET someField = 'foobar', last_updated = NOW() WHERE id = xxx

Edited by Zane
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.