9

有人可以向我解释这有什么问题吗?

SELECT COUNT (`ID`) FROM `tableImSpecifying` WHERE `VisitorsEmail` = '$VarThatHoldsEmailFromA$_POSTInput'

这是我在遵循教程时正在编写的程序的一部分,但我对如何解决这个问题很感兴趣。如果有人能告诉我如何解决这个问题,我将不胜感激,我提前感谢你。

这是我看到的错误:

FUNCTION myhost_classifieds.COUNT 不存在。检查参考手册中的“函数名称解析和解析”部分

让我感到困惑的是,我在这个查询之上有类似的查询可以正常工作,并且我已经反复检查了语法,但我看不出有什么问题。

4

6 回答 6

22

这个:

FUNCTION myhost_classifieds.COUNT 不存在。检查参考手册中的“函数名称解析和解析”部分

会提示您阅读此内容

这导致你改变这个:

COUNT (`ID`)

至:

COUNT(`ID`)

(注意删除的空间)。

(您也可以摆弄IGNORE_SPACE,但我不建议新手使用它。

于 2013-04-22T21:55:25.930 回答
10

改变:

SELECT COUNT (`ID`) 

SELECT COUNT(`ID`) 

空间把它搞砸了。

于 2013-04-22T21:54:39.003 回答
3

简而言之,根据 Wrikken 的说法,在SQL 手册中它说,

要将名称用作表达式中的函数调用,名称和后面的 ( 括号字符之间不能有空格。

所以表达式,

SELECT COUNT (`ID`) FROM `tableImSpecifying` WHERE `VisitorsEmail` = '$VarThatHoldsEmailFromA$_POSTInput'

不起作用,因为 COUNT 和 ( ) 之间有一个空格。只需删除空格并将其更改为:

SELECT COUNT('ID') ...
于 2019-08-04T04:26:10.347 回答
1

尝试这个

 SELECT COUNT(`ID`) FROM `tableImSpecifying` WHERE `VisitorsEmail` = '$VarThatHoldsEmailFromA$_POSTInput'
            ^^-------remove space here
于 2013-04-22T21:54:46.093 回答
1

我在运行查询时也遇到了同样的问题

SELECT MIN (released_year) FROM books

我在哪里遇到错误

FUNCTION records.MIN does not exist.
Check the 'Function Name Parsing and Resolution' section in the Reference Manual.  

但是当我删除 MIN 和 (released_year) 之间的空格时它起作用了,所以正确的是:

SELECT MIN(released_year) FROM books
于 2019-06-15T11:03:17.773 回答
0

MYSQL 不喜欢函数名后面的空格。尝试取出 COUNT 之后的空间。

我还认为这些变量名只是一个示例,您实际上并没有在生产中使用它们!

于 2013-04-22T21:57:37.413 回答