我有一個名爲「lastfed」的時間戳列的數據庫表。插入CURRENT_TIME減1小時?
有人知道我可以如何用當前時間減去例如1小時來更新該列嗎?
$query = $db->prepare("UPDATE test SET fullness = $newFullness, lastfed = CURRENT_TIME WHERE id = ?");
我有一個名爲「lastfed」的時間戳列的數據庫表。插入CURRENT_TIME減1小時?
有人知道我可以如何用當前時間減去例如1小時來更新該列嗎?
$query = $db->prepare("UPDATE test SET fullness = $newFullness, lastfed = CURRENT_TIME WHERE id = ?");
UPDATE test
SET fullness = $newFullness,
lastfed = date_sub(now(), INTERVAL 1 HOUR)
WHERE id = ?
UPDATE test
SET fullness = $newFullness, lastfed = SUBDATE(CURDATE(), INTERVAL 1 HOUR) WHERE id = ?
在這種情況下使用curdate是不正確的。 Curdate返回時間戳的日期部分。將時間戳列設置爲curdate - 30分鐘將在昨天23:30結束。 [here](http://sqlfiddle.com/#!2/d41d8/26083)爲例。 –
謝謝你的作品!當時間允許時,我會將你的答案標記爲已解決! – Lisa
只是一個簡單的問題,如果我需要它是例如30分鐘,那麼我該怎麼寫? 30分鐘不起作用... – Lisa
最後使用MINUTE而沒有s。請參閱[這裏](http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add)瞭解可用的表達式。 [Here](http://sqlfiddle.com/#!2/d41d8/26082)爲例。 –