我有一个名为“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)为例。 –