MySQL 5.6中使用count函数的奇怪行为

时间:2016-10-03 14:22:01

标签: mysql count behavior

我有一个修复查询,如下所示,我尝试理解的一些奇怪行为是每当我在不同的时刻运行此查询时,我得到了不同的结果:( 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看到这种奇怪行为的原因是什么?

1 个答案:

答案 0 :(得分:0)

只要新用户注册,您的查询就会返回不同的计数。如果您将COUNT(*)替换为*,则可以找到详细信息。

我的猜测是,您还没有真正验证过,因为您认为2016-10-03 15:33:26是过去的日期,因此无法拥有新用户。事实上,它是当地时间,截至目前(2016-10-03 14:30 UTC)它已经是东部时区的过去日期,但仍然会到达其他地方。

如果没有将MySQL服务器配置为使用您的本地时区,但您的代码是假定的,则可能会造成混淆。