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

The*_*ras 8 mysql mysql-workbench

对于以下SQL查询:

SELECT COUNT (distinct first_name) from actor;
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

"SELECT" is not valid at this position for this server version, expecting: '(', WITH
Run Code Online (Sandbox Code Playgroud)

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

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

Guf*_*fus 10

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

让我们尝试一下:

SELECT COUNT(DISTINCT first_name) FROM actor;
Run Code Online (Sandbox Code Playgroud)


Pra*_*hay 7

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

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

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

错误:

Select
From (....
    Select
    From
    Where
    Group by
    Order ;     <== offending ;
) as ...
Where
Group by
Order
Run Code Online (Sandbox Code Playgroud)

没有错误:

Select
From (....
    Select
    From
    Where
    Group by
    Order
) as ...
Where
Group by
Order ;   <== correct placement
Run Code Online (Sandbox Code Playgroud)


S'c*_*ock 5

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

select * FROM db_name.table_name;
Run Code Online (Sandbox Code Playgroud)