2013-10-14 4 views
8

Hallo, gibt es eine Möglichkeit, die ich verwenden kann! = Operator mit CQL in Cassandra? Ich versuche, einen Operator = auf meiner columnfamily zu verwenden, aber wenn ich mit versuchen, dass es sagt:Cassandra CQL nicht gleich Operator auf einer Spalte

cqlsh:EPCContent> select * from "MediaCategoryGroup" where "MCategoryID"!=1; 

ich diesen Fehler:

Invalid syntax at line 1, char 55 
    select * from "MediaCategoryGroup" where "MCategoryID"!=1; 
                 ^

Antwort

13

Wenn Sie in Cassandra SELECT-Syntax aussehen (http://cassandra.apache.org/doc/latest/cql/dml.html#select) Es gibt keinen != Beziehungsoperator. Sie müssen einen anderen Operator (wahrscheinlich restriktiver) verwenden, um die gewünschte Abfrage durchzuführen. Nur zu Ihrer Information diese "Beziehungsoperatoren": "=" | "<" | ">" | "<=" | ">=".

+0

Aber wir können "<" | ">" | verwenden "<=" | "> =" nur wenn dieses Feld ein Primärschlüssel ist. –

+1

ja, in Cassandra kann man das nur auf Primärschlüsselfeldern (auch aus zusammengesetzten Schlüsseln) oder "Sekundärindizes" machen und nicht alle sind immer möglich ... – emgsilva

+0

Wie würdest du es machen, um alle Zeilen dorthin zu bekommen? ein bestimmtes Feld ist nicht null? –