Facebook - максимальное количество параметров в предложении «IN»? - PullRequest
9 голосов
/ 23 февраля 2010

В Facebook query language(FQL) вы можете указать предложение IN, например:

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

Кто-нибудь знает, какое максимальное количество параметров вы можете передать в IN?

Ответы [ 4 ]

3 голосов
/ 26 марта 2010

Я думаю, что максимальный размер набора результатов составляет 5000

2 голосов
/ 07 июня 2011

Это может показаться нечетным числом (поэтому, возможно, я пропустил счет, но оно близко ~ 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().

0 голосов
/ 16 февраля 2013

Не уверен, есть ли недокументированный лимит или это может быть причиной тайм-аута сервера Facebook fql.

Вы должны проверить, есть ли ошибка 500, возвращенная веб-сервером FB, которая может указывать на то, что вы передаете слишком длинную инструкцию GET (см. Язык запросов Facebook - длинный запрос )

Я понял, что мой get слишком длинный, поэтому вместо того, чтобы помещать много чисел в оператор IN, я помещаю туда подзапрос, который выбирает эти числа из FB FQL - но, к сожалению, похоже, что FB не может обработать запрос и возвращает «неизвестная ошибка» в JSON, которая действительно не помогает нам понять проблему.

0 голосов
/ 26 февраля 2010

Максимальное количество параметров не должно быть, поскольку в SQL IN нет, насколько я знаю.
http://www.sql -tutorial.net / SQL-IN.asp

просто не используйте больше параметров, чем у вас есть значения для функции для проверки, потому что вы не получите никаких результатов (не знаю, выдаст ли она ошибку, как я никогда не пытался).

...