2016-12-13 65 views
-2

PHP可以使用mysqli从MySQL数据库中获取的最大列数是多少?PHP可以从MySQL获取的最大列数?

我明白,在典型用法中,您绝对不应该遇到此限制。

但是,这个数字可能应该记录在某个地方。

回答

-1

这至少,因此它不太可能,你会以这种方式在任何正常情况下的限制。你可能会首先遇到其他限制。


我设置一个内置的时间越来越长查询,像这样的测试:

SELECT "a","a","a","a","a","a" ... 

我赶紧跑出去的内存。

我增加了memory_limit设置为2048M,并成功获取了400万列。

当我尝试500万时,出现此错误:Got a packet bigger than 'max_allowed_packet' bytes. max_allowed_pa​​cket设置对您可以发送的查询设置大小限制。

因此,即使MySQL表格显然只限于4096列,您的查询不是。

+1

好*个体*表仅限于4096列,但是这没什么好说的连接和计算列的结果。也就是说,PHP的内部限制可能是mysqlnd中任何整数跟踪列数的最大值,而mysql的协议限制可能更复杂,因为它似乎至少受到max_allowed_pa​​cket设置的限制。 *如果您在结果集中合法需要数百万列,我会冒昧地说,您还有其他问题需要首先解决。 – Sammitch

+0

身份证这真的是一个列或只是记忆的措施? – 2016-12-14 20:46:25

+0

@Dagon真的只是记忆。我不知道列数是否有限制。 – Liam

3

如果你问这个问题你做错了什么。

对于三立设计的数据库这样的问题不应该永远出现

+0

我同意没有合理设计的数据库应该会遇到这个限制。而我没有这样的数据库。即使如此,问这是不是一个公平的问题?只有当我们知道这个限制很高时,我们才知道它永远不会影响我们。 – Liam