Facebook - “IN”子句中的最大参数数量?

时间:2010-02-23 11:47:59

标签: facebook facebook-fql

Facebook query language(FQL)中,您可以指定IN子句,例如:

SELECT uid1, uid2 FROM friend WHERE uid1 IN (1000, 1001, 1002)

有谁知道您可以传递到IN的最大参数数量是什么?

4 个答案:

答案 0 :(得分:3)

我认为最大结果集大小为5000

答案 1 :(得分:2)

它可能看起来像一个奇数(所以也许我想念,但它很接近〜1),但我似乎无法查询超过73 IN个项目。这是我的问题:

SELECT object_id, metric, value
FROM insights
WHERE object_id IN ( ~73 PAGE IDS HERE~ )
AND metric='page_fans'
AND end_time=end_time_date('2011-06-04')
AND period=period('lifetime')

这是使用JavaSCript FB.api()调用。

答案 2 :(得分:0)

不确定是否存在未记录的限制,或者可能是facebook fql server timeout的问题。

您应该检查FB Web服务器是否返回了错误500,这可能表示您传递了太长的GET语句(请参阅Facebook query language - long query

我意识到我的获取太长了所以不是在IN语句中放入很多数字,我在那里放了一个从FB FQL中获取这些数字的子查询 - 但遗憾的是它看起来像FB无法处理查询并返回JSON中的“未知错误”实际上无法帮助我们理解问题。

答案 3 :(得分:-2)

据我所知,在SQL IN中没有最大数量的参数 http://www.sql-tutorial.net/SQL-IN.asp

只是不要使用更多的参数而不是你要检查的函数的值,因为你不会得到任何结果(不知道它是否会给出我从未尝试过的错误)。