Sqlite 更新超过n分钟的记录
我有一个sqlite数据库,其中有一个名为last_accessed的datatime字段和另一个名为stale的字段 对于超过5分钟的记录,如何更新stale字段 e、 g 这似乎不起作用 update mytable set stale=1,其中(datetime('now')-上次访问)>300 其实 选择日期时间(“现在”)-“2011-02-22 08:48:34”; 返回0 如何在sqlite3中执行算术 编辑: 因为我正在将上次访问的时间转换为日期时间,所以它只需要是一个秒字段。你认为我应该把那个字段改成秒字段吗。那么我就不需要像strftime('%s',time('now'))-strftime('%s',上次访问)这样的操作了 编辑2: 据我所知,没有difftime函数。我发现您必须使用strftime('%s',datetime('now'))-。。。格式化以使其工作。然而,我只是简单地转换成一个整数字段,在这里我直接存储时间(NULL)。我认为应该是这样Sqlite 更新超过n分钟的记录,sqlite,Sqlite,我有一个sqlite数据库,其中有一个名为last_accessed的datatime字段和另一个名为stale的字段 对于超过5分钟的记录,如何更新stale字段 e、 g 这似乎不起作用 update mytable set stale=1,其中(datetime('now')-上次访问)>300 其实 选择日期时间(“现在”)-“2011-02-22 08:48:34”; 返回0 如何在sqlite3中执行算术 编辑: 因为我正在将上次访问的时间转换为日期时间,所以它只需要是一个秒字段。你
select datetime('now') - datetime('2011-02-22 08:48:34');
或者类似的东西(请参阅)。来回答这个问题,以防其他人想知道如何在sqlite中正确执行日期/时间算术 正确答案是: 更新mytable set stale=1,其中strftime('%s',datetime('now'))-strftime('%s',上次访问)>300 但是,我实际上不需要表中的datetime格式,而是选择了数字字段。我不想再寻找这个问题的答案了
谢谢。那还是不行。已转换为整型字段。应将此答案标记为已接受。这将使这个问题不会以未回答的问题出现。我会在stackoverflow允许的情况下尽快这样做。他们有两天的时间接受你自己问题的答案。