当我使用以下查询:

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

任何想法,为什么会这样?

有帮助吗?

解决方案

我也有类似的问题,即它不会在SELECT工作,如果我没有设置的限制。

试着这样做:

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

它得到上一个MySQL更新校正。尝试也更新您的MySQL版本。

其他提示

验证您没有DATEDIFF和托架(之间的空间中。

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

同时检查此错误报告

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top