MySQL 工作台报告"is not valid at this position for this server version"错误



对于以下SQL查询:

SELECT COUNT (distinct first_name) from actor;

我收到以下错误消息:

"SELECT" is not valid at this position for this server version, expecting: '(', WITH

我是SQL方面的新手。如何解决此错误?

我在另一台电脑上用完全相同的模式放了完全相同的行,效果很好。

您是否尝试运行删除"COUNT"和括号之间的空格的查询?我在MYSQL 5.7上运行了一个与您类似的查询,它给了我一个错误,但没有这个空间,查询就会运行。

让我们试试这个:

SELECT COUNT(DISTINCT first_name) FROM actor;

我知道这不是您所说的问题,但这与我收到的错误消息相同。这个消息是如此的通用,以至于它可以是任何东西。。。

所以,从一个新手到另一个:

对我来说,当我将一个查询嵌套在另一个查询中时发生了错误。我有一个;在第一个查询结束时,忘记将其取出。这就造成了错误。一旦我删除了;在内部查询中,并在新查询的末尾添加了一个查询,从而解决了错误。

错误:

Select
From (....
Select
From
Where
Group by
Order ;     <== offending ;
) as ...
Where
Group by
Order

无错误:

Select
From (....
Select
From
Where
Group by
Order
) as ...
Where
Group by
Order ;   <== correct placement

使用"db_name"解决了我的错误尽管我已经执行了use"db_name"命令,但使用表;

select * FROM db_name.table_name;

我希望每当您开始编写select时,都会看到这个错误。我也犯了同样的错误,阅读了所有的评论,尝试了不同的方法,但没有任何结果,但最终还是解决了错误。

您出现此错误是因为您可能没有关闭以前的代码。例如,如果您以前已经编写过代码,则最终使用order by(或(limit命令,但没有使用分号(;(将其关闭。

如果您试图在前一个命令之后编写一个新命令select,而不使用分号将其关闭,则可能会出现此错误。

相关内容