Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从phpmyadmin导出时MySql组_CONCAT失败_Mysql_Sql_Phpmyadmin_Group Concat - Fatal编程技术网

从phpmyadmin导出时MySql组_CONCAT失败

从phpmyadmin导出时MySql组_CONCAT失败,mysql,sql,phpmyadmin,group-concat,Mysql,Sql,Phpmyadmin,Group Concat,当我使用group\u concat测试查询时,它工作正常,并在行中输出正确的逗号分隔列表。但是,当我单击结果集底部的“导出”时,会出现一个错误,显示为#1630-FUNCTION.group_concat不存在。 它似乎将对GROUP\u CONCAT的引用视为用户定义的函数。是否有一种方法可以正确限定函数名,以便在导出时可以找到它?我以前没有在不尝试使用group\u concat时遇到过导出问题 以下是查询: SELECT *, group_concat(distinct g.name)

当我使用
group\u concat
测试查询时,它工作正常,并在行中输出正确的逗号分隔列表。但是,当我单击结果集底部的“导出”时,会出现一个错误,显示为
#1630-FUNCTION.group_concat不存在。

它似乎将对
GROUP\u CONCAT
的引用视为用户定义的函数。是否有一种方法可以正确限定函数名,以便在导出时可以找到它?我以前没有在不尝试使用
group\u concat
时遇到过导出问题

以下是查询:

SELECT *, group_concat(distinct g.name) FROM `users` u
left join usergroupassoc a on u.userid = a.userid
left join usergroups g on a.usergroupid = g.usergroupid
where u.enddate is null and g.enddate is null group by u.userid

group_concat使用逗号作为默认分隔符,这可能会阻止phpmyadmin正确生成导出文件

尝试将分号指定为组分隔符:

SELECT *, group_concat(distinct g.name SEPARATOR ';') FROM `users` u
left join usergroupassoc a on u.userid = a.userid
left join usergroups g on a.usergroupid = g.usergroupid
where u.enddate is null and g.enddate is null group by u.userid;

它似乎对
group_concat
和左括号之间的间距很敏感。您能否验证在实际运行的查询中没有空格?来源:这是一种可能性——我认为phpmyadmin在将查询传递给MySql之前正在转换查询。不过,它似乎并没有在左括号前加空格,但可能是做了MySql不喜欢的其他事情。您是否尝试过调查MySql常规查询日志,以查看PHPMyAdmin执行的查询是什么?这是个不错的主意。我会调查的,是的。它实际上是在左括号前插入一个空格。家伙。这可能只是我正在使用的PhpMyAdmin旧版本中的一个bug,无法更改。啊。