在Facebook query language(FQL)
中,您可以指定一个IN
子句,例如:
SELECT uid1, uid2 FROM friend WHERE uid1 IN (1000, 1001, 1002)
有谁知道您可以传递的最大参数数量是IN
多少?
在Facebook query language(FQL)
中,您可以指定一个IN
子句,例如:
SELECT uid1, uid2 FROM friend WHERE uid1 IN (1000, 1001, 1002)
有谁知道您可以传递的最大参数数量是IN
多少?
我认为最大结果集大小是 5000
它可能看起来像一个奇数(所以也许我错过了计数,但它接近〜1),但我似乎无法查询超过 73IN
个项目。这是我的查询:
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')
这是使用 JavaSCriptFB.api()
调用。
不确定是否存在未记录的限制,或者可能是 facebook fql 服务器超时问题。
您应该检查是否有从 FB Web 服务器返回的错误 500,这可能表明您传递了太长的 GET 语句(请参阅Facebook 查询语言 - 长查询)
我意识到我的 get 太长了,所以我没有在 IN 语句中放入很多数字,而是在其中放置了一个从 FB FQL 获取这些数字的子查询 - 但不幸的是,看起来 FB 无法处理查询并返回一个“未知” JSON 中的 error' 并不能帮助我们理解问题。
据我所知,不应该有最大数量的参数,因为 SQL IN 中没有。
http://www.sql-tutorial.net/SQL-IN.asp
只是不要使用比函数要检查的值更多的参数,因为你不会得到任何结果(不知道它是否会给出一个错误,因为我从未尝试过)。