1
我使用python的datastax cassandra驅動程序。這個cassandra準備好的聲明調用有什麼問題?
爭議中的部分代碼是:
cql = "SELECT * FROM iptools.geo2ip WHERE geo_key = ? AND ((geohash >= ? AND geohash < ?) OR (geohash >= ? AND geohash < ?));"
print cql
prepared = self.session.prepare(cql)
結果是:
SELECT * FROM iptools.geo2ip WHERE geo_key = ? AND ((geohash >= ? AND geohash < ?) OR (geohash >= ? AND geohash < ?));
cassandra.protocol.SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query] message="line 1:82 missing EOF at ')' (...? AND geohash < ? [)];)">
我不知道在哪裏周圍的括號括號的來源,以及準備語句作品只要我刪除括號。
想法?
我敢肯定,這是發生,因爲CQL不含OR關鍵字的定義。 – Aaron 2015-02-24 02:04:08
在CQL中,它和括號在SQL中不一樣。我會一起擺脫它們。 – Aaron 2015-02-24 02:15:54
你能發佈你的'CREATE TABLE geo2ip'語句嗎?這將有助於弄清楚如何得到你想要的東西。 – Aaron 2015-02-24 13:25:19