我将首先解释我的目标:我希望用户查询数据库,并且仅当这些行自上次查询后已更新时才返回行。没有意义返回他们已有的数据。所以我创建了一个名为'lastupdated'的列,这是一个时间戳类型,每次更新该行中的任何内容时都会自动进行更新。这工作正常。现在,我想正确地形成查询。用户将保存他们先前查询的时间戳,并且通过php将用它来比较他们以前的查询时间和每行更新的时间。如果该行在最后一次查询后更新,则应该返回该行。有关MySQL时间戳比较的问题
我做了这样的事情,
SELECT * FROM users WHERE '2011-02-26 01:50:30' <= lastupdated
但它显然要太简单了。我查看了MySQL手册,发现此页面为MySQL Time/Date Page。我确信答案在这里,但我已经读过它,没有任何意义。我有一个MySQL时间戳类型使用的相同格式的时间戳,但我不知道如何比较它们。非常感谢您的帮助。
您是否尝试过查询本身。它会工作。 – amitchd 2011-02-27 07:28:24
我检查过,如果这会工作,我得到一个语法错误。我可能错误地输入了一些内容。我将再次检查并发布结果,谢谢大家。 – JMRboosties 2011-02-27 10:16:58
请注意,您的*小于或等于*可能很容易导致在前一个结果集中具有最大'lastupdated'值的行的重复传输。所以,*如果*你可以排除在单秒内插入,选择,插入的情况,那么你可能想使用*小于*。 – Timo 2013-12-03 16:11:16