2016-04-18 16 views
2

Als ich versuchte, enthält abzurufen Tabelle mit Keyword es "Cannot use CONTAINS relation on non collection column col1" fordert aber wenn ich TabelleKönnen wir Primärschlüssel zu Sammlungsdatentypen hinzufügen?

mit erstellen versucht
CREATE TABLE test (id int,address map<text, int>,mail list<text>,phone set<int>,primary key (id,address,mail,phone)); 

fordert es "Invalid collection type for PRIMARY KEY component phone"

Antwort

2

Eine der Grundlagen in Cassandra ist, dass Sie nicht ändern können primäre Schlüssel. Behalte das immer im Hinterkopf.

Sie können eine Sammlung nicht als Primärschlüssel verwenden, es sei denn, sie ist eingefroren, dh Sie können sie nicht ändern.

wird diese

arbeiten
CREATE TABLE test (id int,address frozen<map<text, int>>,mail frozen<list<text>>,phone frozen<set<int>>,primary key (id,address,mail,phone));; 

Aber ich denke, Sie einen Blick auf dieses Dokument nehmen sollte: http://www.datastax.com/dev/blog/cql-in-2-1

Sie 2.1 Sekundärindizes auf Sammlungen nach cql setzen können. Möglicherweise möchten Sie diese Funktionalität verwenden.

Verwandte Themen