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 服务器”[重复]
.\libraries\classes\Plugins\AuthenticationPlugin.php#226 中的错误警告不能使用 phpmyadmin 在 mysql 中将标量值用作数组