2013-10-25 89 views
9

我試圖執行以下CQL 3語句卡桑德拉非反家庭

CREATE TABLE summary (
       id uuid, 
       "client" bigint, 
       "campaign" text, 
       "unit" bigint, 
       "view" counter, 
       PRIMARY KEY ("client", "campaign", "unit")); 

我得到的錯誤是,我不能在非櫃檯列族創建一個計數器列。

任何想法?

回答

6

包含計數器的表只能包含計數器。

+0

那麼它只能有計數器和一個鍵嗎? – Dharun

+0

接受多個主鍵:http://docs.datastax.com/en/cql/3.0/cql/cql_using/use_counter_t.html – Mullefa

13

此問題的解決方案是任何非計數器列必須是主鍵的一部分。列id uuid是造成問題的原因,刪除它允許創建表。

0

這是當前計數器實施的限制。您不能在同一個表中混合計數器和常規列。所以你需要一個單獨的計數器表。

他們正在考慮消除Cassandra 3.x中的這一限制。請參閱Jira ticket

(從Cassandra non counter family遷移)