在Facebook query language(FQL)
,你可以指定一个IN
条款,如:Facebook - “IN”子句中的最大参数数量?
SELECT uid1, uid2 FROM friend WHERE uid1 IN (1000, 1001, 1002)
有谁知道什么是你可以传递到IN
参数的最大值是多少?
在Facebook query language(FQL)
,你可以指定一个IN
条款,如:Facebook - “IN”子句中的最大参数数量?
SELECT uid1, uid2 FROM friend WHERE uid1 IN (1000, 1001, 1002)
有谁知道什么是你可以传递到IN
参数的最大值是多少?
据我所知,在SQL IN中不存在最大数量的参数。
http://www.sql-tutorial.net/SQL-IN.asp
只是不使用更多的参数比你有值的函数来检查,因为你不会得到任何结果(不知道这是否会放弃一个错误,因为我从来没有尝试过)。
我觉得最大的结果集的大小为5000
为什么?你有引用吗? – Oddthinking 2010-05-05 02:46:35
我要从Facebook开发人员板http://forum.developers.facebook.com/viewtopic.php?pid=216570 – Ceilingfish 2010-05-05 09:40:11
Downvoted。问题不在于* resultset *有多大,而是*有多少object_ids可以传入IN()* * – rinogo 2014-03-24 19:52:07
这似乎是一个奇数(所以也许我错过计数,但它很接近〜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()
电话。
不确定是否存在未记录的限制或者它可能是facebook fql服务器超时的问题。
你应该检查是否有从FB Web服务器返回一个错误500这可能表明你正在传递一个太长GET声明(见Facebook query language - long query)
我意识到自己的GET太长,所以不是把许多数字在IN语句中,我在那里提取了一个从FB FQL中获取这些数字的子查询 - 但不幸的是,它看起来像FB无法处理查询并在JSON中返回了一个'未知错误',这实际上无助于我们理解问题。
我看到查询失败,像这样的错误:例外:收到的Facebook错误响应(代码601):解析器错误:意外的','在位置2083.)我没有任何额外的','所以我认为SELECT必须有一些限制。我不会通过浏览器,但我通过浏览器遇到完全相同的问题。这指向比以下5000小得多的值。 – 2014-03-24 17:15:44