質問

私はこのクエリを使用する場合:

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

これがそうである理由を任意のアイデア?

役に立ちましたか?

解決

私はLIMITを設定していなかった場合、それは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