我正在使用Yii CDbCommand从mysql中获取结果。
我在mysql查询中记录了SQL,并通过var_dump Yii的CDbCommand SQL同时记录了SQL。
这是一样的。 我通过CDbCommand-> queryAll()得到结果。
但结果与在phpMyAdmin中运行相同的SQL不一样。Yii CDbCommand queryAll()返回错误结果
> SELECT `referer_url_id` FROM `trend_referer` WHERE
> ((`site_id` = '45654' and `date` between '20131211' and '20131211'))
> GROUP BY `referer_url_id` LIMIT 6
> OFFSET 30;
此SQL。我从queryAll和phpMyAdmin获得了6个结果。
但其中只有3个是相同的。其他3个不同。
这很奇怪。
编辑: 最奇怪的是,这个问题几分钟后消失。
并发生在另一个'限制6 OFFSET XX'。
XX在所有时间都不一样。
所以我认为它是PDO或Yii中的缓存机制?
尝试'(日期'在'20131211'和'20131211'之间)' – zzlalani
你期待什么样的答案?该查询所有假数据库返回一些结果? –
' - > queryAll()'不会奇迹般地重写原始查询以获得不同的结果。如果在多次运行同一查询时得到不同的结果,这意味着查询中的某些内容(结果排序顺序)不是确定性的。你为什么使用GROUP BY而不是ORDER BY?表模式是什么样的? – DCoder