MySQL:"IN"子句的条目是否有限制?

Dav*_*vid 4 mysql sql

可能重复:
"in子句"中的MySQL项目数
在mysql或postgres中,IN(1,2,n)语句的大小是否有限制?

我动态地构建一个"IN"列表,我想知道mysql中IN子句的大小是否有限制.

SELECT foo FROM bar WHERE bar_key IN ('prod1', 'prod2', 'prod50', ...'last prod')
Run Code Online (Sandbox Code Playgroud)

我想SQL语句的总长度有一个限制,但我在手册中找不到它.

我知道另一种方法是构建临时表并与之连接,但是如果我必须执行许多INSERT语句,我不确定性能权衡存在于何处.当然,如果我可以用一个快速的INSERT填充临时表,但在我的情况下这是不可能的.

所以我的第一个问题是什么是mysql限制,如果你能指出我手册中的相关页面,我将不胜感激.

Red*_*ter 10

手册:

IN列表中的值数量仅受max_allowed_packet值限制.

  • 我觉得有趣的是,当手册明确指出有限制时,两个链接的重复问题的答案都表明没有限制。 (2认同)