我有一个修复查询,如下所示,我尝试理解的一些奇怪行为是每当我在不同的时刻运行此查询时,我得到了不同的结果:( 134,143,147,152,158)
这就是在创建的表中定义的方式:
`user_registration_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
从user_registration_timestamp
> =“2016-10-03 12:33:26”的用户中选择计数(*)
和user_registration_timestamp
< “2016-10-03 15:33:26”;
为什么会这样?时间戳是固定的,它不是可变的,那么用MySQL看到这种奇怪行为的原因是什么?
答案 0 :(得分:0)
只要新用户注册,您的查询就会返回不同的计数。如果您将COUNT(*)
替换为*
,则可以找到详细信息。
我的猜测是,您还没有真正验证过,因为您认为2016-10-03 15:33:26
是过去的日期,因此无法拥有新用户。事实上,它是当地时间,截至目前(2016-10-03 14:30 UTC
)它已经是东部时区的过去日期,但仍然会到达其他地方。
如果没有将MySQL服务器配置为使用您的本地时区,但您的代码是假定的,则可能会造成混淆。