SELECT Valeur spécifique de la carte
Je suis en train de créer un LARGE Tableau de la Colonne, plus de 20 000 colonnes
Au début, je pensais que j'allais utiliser:
CREATE TABLE details (
key TEXT,
detail map<TEXT, TEXT>
PRIMARY KEY (KEY)
);
De l'insérer dans ce tableau fonctionne très bien
UPDATE details SET detail = detail + { 'col1': '12'} where key='123' ;
UPDATE details SET detail = detail + { 'col20000': 'ABCD'} where key='123' ;
Cependant, je voudrais lire un individu détail:
select detail[col1] where key='123'
lors de l'exécution de cette requête, j'obtiens l'erreur suivante:
no viable alternative at input '['
Ce travail, ou dois-je besoin d'une approche différente?
source d'informationauteur e90jimmy
Vous devez vous connecter pour publier un commentaire.
Collections sont de petits groupes de données que vous chercher tous à la fois.
Si vous souhaitez accéder à des tuples à un niveau plus fin, et encore être en mesure de demander "quelles sont toutes les paires de données pour une clé donnée," il faut utiliser un tableau comme ceci:
Cela permettra
SELECT * FROM details WHERE key = ?
ainsi queSELECT * FROM detail WHERE key = ? AND detail_key = ?
.Fondamentalement, cette fonctionnalité n'est pas encore pris en charge par cassandra.
Voir ce cql3 collections