CQL3不再與「動態列名」的模式枝。它仍然可以生成任意寬度的cassandra行,但它們看起來像CQL中的「正常」窄表,所有列都被命名和定義。這就是爲什麼CQL3不再支持設置default_validation
或comparator
等等。
在做任何不平凡的事情之前,您應該先閱讀並理解http://www.datastax.com/dev/blog/schema-in-cassandra-1-1。
回答你的問題,但是,是它的作爲留下關閉default_validation
簡單:
CREATE TABLE userstats (
username varchar PRIMARY KEY,
images counter
) WITH comment='User Stats';
雖然目前還不清楚是否打算使用每行有多個計數器,因爲你想要一個default_validation
。如果你這樣做,你的comparator
本來varchar
,你可以這樣做:
CREATE TABLE userstats (
username varchar,
countername varchar,
value counter,
PRIMARY KEY (username, countername)
) WITH comment='User Stats';
..和讓images
僅僅是counternames之一。
我試圖從CQL3提示符中使用您推薦的命令並獲得:TSocket讀取0字節 – mithrix
根據我的經驗,cqlsh滯後於功能。你應該嘗試直接使用節點execute_cql – Alar
@Alar cqlsh不落後於cql特性,因爲實際的cql處理是在Cassandra端完成的。 Cqlsh只是幫助使輸出看起來很漂亮,並提供了很好的選項卡完成和readline功能。它使用相同的節儉通話。 –