2013-10-14 9 views
8

Salut est-il un moyen que je peux utiliser! = Opérateur utilisant CQL dans Cassandra? Je suis en train d'utiliser un opérateur = sur mon columnfamily mais quand j'essayer d'utiliser ce qu'il dit:Cassandra CQL pas égal opérateur sur une colonne

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

Je reçois cette erreur:

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

Répondre

13

Si vous regardez dans la syntaxe Cassandra SELECT (http://cassandra.apache.org/doc/latest/cql/dml.html#select) il n'y a pas d'opérateur de relation !=. Vous devrez utiliser un autre opérateur (probablement plus restrictif) pour effectuer la requête à laquelle vous songez. Juste pour votre information ces "opérateurs de relation": "=" | "<" | ">" | "<=" | ">=".

+0

Mais nous pouvons utiliser "<" | ">" | "<=" | "> =" uniquement si ce champ est une clé primaire. –

+1

oui, dans Cassandra vous ne pouvez le faire que sur les champs clés primaires (également à partir de clés composites) ou "index secondaires" et tous ne sont pas possibles tout le temps ... – emgsilva

+0

Comment le feriez-vous pour obtenir toutes les lignes où un champ spécifique n'est pas nul? –

Questions connexes