1

当我使用这个查询时:

SELECT COUNT(*) FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2

MySQL 执行查询没有错误,我得到了过去 2 天内未更新的行数。但是,如果我像这样更改查询:

SELECT * FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2

我收到以下错误:

#1305 - FUNCTION mydatabase.DATEDIFF does not exist

任何想法为什么会这样?

4

2 回答 2

3

DATEDIFF确认您在和 括号之间没有空格(

或许你也可以试试SET sql_mode = "IGNORE_SPACE";

还要检查这个错误报告

于 2009-11-20T14:51:21.903 回答
2

我有一个类似的问题,如果我没有设置 LIMIT,它将无法在 SELECT 上运行。

尝试执行以下操作:

SELECT * FROM `my_table` WHERE DATEDIFF(NOW(), updated) > 2 LIMIT 0, 10

它在 MySQL 更新中得到纠正。尝试更新您的 MySQL 版本。

于 2009-11-20T14:57:14.250 回答