phpMyAdmin 中的 MySQL 解析错误(“这种类型的子句以前被解析过”)

Posted

技术标签:

【中文标题】phpMyAdmin 中的 MySQL 解析错误(“这种类型的子句以前被解析过”)【英文标题】:MySQL parsing error in phpMyAdmin ("This type of clause was previously parsed") 【发布时间】:2016-07-28 19:13:21 【问题描述】:

我有以下 SQL 查询:

SELECT SUM(tmp.mval), tmp.timekey FROM
(SELECT teghamas, 
        MAX(arzheq) as mval, 
        ceil(UNIX_TIMESTAMP(zhamanak)/(60 * 60)) AS timekey
   FROM `masnakcutyun`
   LEFT JOIN teghkentron ON `masnakcutyun`.`teghKentronId`=`teghkentron`.`teghKentronId` 
  WHERE teghkentron.hamaynq="London" group by timekey, teghkentron.teghamas)         
AS tmp
GROUP BY tmp.timekey

它在 phpMyAdmin 中运行良好。但是那里有一个警告说:

“这种类型的子句以前被解析过(接近选择)”。

你能猜出是什么问题吗?查询可以执行并返回预期的结果。

【问题讨论】:

【参考方案1】:

好像是phpMyAdmin解析器的bug,见the issue on github,查询本身是有效的。

【讨论】:

谢谢!这很有帮助。【参考方案2】:

mysql 允许在from 子句中写入子查询,但这是知道issue,您可以创建视图并使用它:

CREATE VIEW viewname AS (SELECT teghamas, 
    MAX(arzheq) as mval, 
    ceil(UNIX_TIMESTAMP(zhamanak)/(60 * 60)) AS timekey
    FROM `masnakcutyun`
    LEFT JOIN teghkentron ON `masnakcutyun`.`teghKentronId`=`teghkentron`.`teghKentronId` 
    WHERE teghkentron.hamaynq="London" group by timekey, teghkentron.teghamas) ;

SELECT SUM(mval) as MySum, timekey 
FROM viewname
GROUP BY timekey

【讨论】:

返回错误:无法识别的语句类型。 (靠近位置 0 的“with”)【参考方案3】:

我收到了同样的错误消息,在我的情况下,我只有几个没有分号结尾的 UPDATE 子句。

UPDATE `table` SET `column`='val2' WHERE `id`=1 **;**
UPDATE `table` SET `column`='val2' WHERE `id`=2

【讨论】:

以上是关于phpMyAdmin 中的 MySQL 解析错误(“这种类型的子句以前被解析过”)的主要内容,如果未能解决你的问题,请参考以下文章

phpMyAdmin 数据库和 XAMPP 中的 MySQL 错误 #1932

phpMyAdmin 中的错误“无法连接到 MySQL 服务器”[重复]

通过 Phpmyadmin 在 Mysql 中的登录问题

.\libraries\classes\Plugins\AuthenticationPlugin.php#226 中的错误警告不能使用 phpmyadmin 在 mysql 中将标量值用作数组

如何解决 Xampp phpMyAdmin 和 MySQL 的空白错误

我在哪里可以找到 phpMyAdmin 中的 MySQL 日志?