MySQL Workbench报告“此服务器版本在此位置无效”错误

时间:2018-11-25 20:54:45

标签: mysql mysql-workbench

对于以下SQL查询:

SELECT COUNT (distinct first_name) from actor;

我收到以下错误消息:

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

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

我在具有相同模式的另一台PC上放置了相同的行,并且工作正常。

4 个答案:

答案 0 :(得分:8)

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

让我们尝试一下:

SELECT COUNT(DISTINCT first_name) FROM actor;

答案 1 :(得分:3)

我知道这不是您所说的确切问题,但这与我收到的错误消息相同。该消息是如此普通,以至于可以是任何...

因此,从一个新手到另一个新手:

对我来说,当我将一个查询嵌套在另一个查询中时发生了错误。我曾有一个 ;在第一个查询的末尾,却忘记将其取出。那引发了错误。一旦我删除了;在内部查询中,并在新查询的末尾添加了一个,即可解决错误。

错误:

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

答案 2 :(得分:0)

使用“ db_name”解决了我的错误。表,尽管我已经执行过使用'db_name'命令;

select * FROM db_name.table_name;

答案 3 :(得分:0)

我希望每当您开始编写 select 时,您都会看到此错误。我也遇到了同样的错误,并以不同的方式阅读了所有评论,但对我来说没有任何效果,但最终解决了错误。

您收到此错误是因为您可能没有关闭之前的代码。例如,如果您之前已经编写过代码,您最终会使用 order by(或)limit 命令,但没有使用分号 (;) 关闭它。

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