Drewser33 Posted July 3, 2014 Share Posted July 3, 2014 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! Link to comment https://forums.phpfreaks.com/topic/289410-a-field-that-updates-with-server-time-on-any-row-update-mysql/ Share on other sites More sharing options...
mac_gyver Posted July 3, 2014 Share Posted July 3, 2014 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 Link to comment https://forums.phpfreaks.com/topic/289410-a-field-that-updates-with-server-time-on-any-row-update-mysql/#findComment-1483686 Share on other sites More sharing options...
Zane Posted July 3, 2014 Share Posted July 3, 2014 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 Link to comment https://forums.phpfreaks.com/topic/289410-a-field-that-updates-with-server-time-on-any-row-update-mysql/#findComment-1483687 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.