我将首先解释我的目标:我希望用户查询数据库,并且仅当这些行自上次查询后已更新时才返回行.没有意义返回他们已经拥有的数据.所以我创建了一个名为'lastupdated'的列,这是一种时间戳类型,每次更新行中的任何内容时都会自动更新.这很好用.现在,我想正确地形成查询.用户将保存其先前查询的时间戳,并通过php将其用于将其先前查询的时间与每行更新的时间进行比较.如果行在上次查询后更新,则应返回该行.
我做了这样的事,
SELECT * FROM users WHERE '2011-02-26 01:50:30' <= lastupdated
Run Code Online (Sandbox Code Playgroud)
但它显然太简单了.我检查了MySQL手册,发现这个页面有MySQL时间/日期页面.我确定答案就在这里,但我已经读过它,没有什么是真正有意义的.我有一个MySQL时间戳类型使用的相同格式的时间戳,但我不知道如何比较它们.非常感谢您的帮助.
那个查询正是你如何做到的.只要字符串化的日期时间是MySQL的首选格式(yyyy-mm-dd hh:mm:ss),那么它将在内部转换为日期时间值,并且比较将继续进行.
如果你想做一些比简单的"大/小于/等于"类型比较更复杂的事情,你只需要你找到的日期/时间函数,例如"任何有12月时间戳的记录".