Mysql phpMyAdmin和SQLBuddy中的SQL查询问题
我在我的web服务器上使用phpMyAdmin,它安装了VirtualMin和PHP7.3(我也尝试过以前的版本) 我遇到的问题是,phpMyAdmin在运行更大(不是大规模)的查询时会给出一个错误。例如,一个有3行的表,运行Mysql phpMyAdmin和SQLBuddy中的SQL查询问题,mysql,virtualmin,Mysql,Virtualmin,我在我的web服务器上使用phpMyAdmin,它安装了VirtualMin和PHP7.3(我也尝试过以前的版本) 我遇到的问题是,phpMyAdmin在运行更大(不是大规模)的查询时会给出一个错误。例如,一个有3行的表,运行select*fromtbl1groupbysubstring(扩展名,1,5)将出现以下错误: Error in processing request Error code: 403 Error text: error (rejected) It seems that t
select*fromtbl1groupbysubstring(扩展名,1,5)代码>将出现以下错误:
Error in processing request
Error code: 403
Error text: error (rejected)
It seems that the connection to server has been lost. Please check your network connectivity and server status.
所以我在网上读了一篇文章,人们说改用SQLBuddy,所以我尝试了这个,完全相同的查询给出了这个错误
There was an error receiving data from the server.
你可以在下面试试
将浏览器中的地址从“localhost”更改为“127.0.0.1”
增加php.ini文件中的post_max_size/memory_limit
问题很可能是您通过以下方式尝试与组一起选择*:
您能否尝试将其更改为:
'按子字符串(扩展名,1,5)从tbl1组中选择子字符串(扩展名,1,5)作为测试;' 上下文实际上可能是您对“*”的查询,所有字段。“Group by”更多地用于聚合目的:min()、max()、avg()等。您没有试图获取聚合的上下文,而是按扩展的子字符串进行分组。如果您能够提供更多关于数据内容是什么的详细信息,以及为什么您认为分组方式是不同的,那么可能会提供更好的答案
这就是说,在不知道更多数据的情况下,我将首先进行一个简单的计数(*),对于任何符合条件的记录返回1。也许就这么简单
select
SUBSTRING(extension,1,5),
count(*) NumRecordsWithThisExtension
from
tbl1
GROUP BY
SUBSTRING(extension,1,5);
只需附带说明:对于SQL标准立场,此查询很可能不正确(除非列:extension是PK/UQ)。相关:请提供SHOW CREATE TABLE tbl1
和该表的3行。以及MySQL的哪个版本?从技术上讲,分组方式是不正确的。阅读“仅完整分组依据”。并尝试mysql命令行工具。您可以尝试我们不会遇到超时、大小等问题的地方。我将post_max_size
增加到200M,但仍然没有什么我没有使用localhost,它也托管在云服务器上,通过Virtualmin,它可以正常工作。在php中,服务器运行时会增加内存限制。对于测试它,最大内存分配也会增加到200M