Question

Quand j'utilise cette requête:

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

MySQL exécute la requête sans erreur et je reçois le nombre de lignes qui ne sont pas mises à jour au cours des 2 derniers jours. Cependant, si je change la requête comme ceci:

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

Je reçois l'erreur suivante:

#1305 - FUNCTION mydatabase.DATEDIFF does not exist

Toutes les idées pourquoi il en est ainsi?

Était-ce utile?

La solution

J'ai eu un problème similaire où il ne fonctionnerait pas sur SELECT si j'avais pas encore défini la limite.

Essayez de faire quelque chose comme:

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

Il a obtenu une mise à jour corrigée sur MySQL. Essayez de mettre à jour votre version MySQL aussi.

Autres conseils

Vérifiez que vous ne disposez pas d'espace entre DATEDIFF et le support (.

vous pourriez peut-être aussi essayer SET sql_mode = "IGNORE_SPACE";

Consultez également cette bugreport.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top