2012-04-13 111 views
5

名稱是否有可能通過卡桑德拉CLI指定主鍵的名稱,通過CQL,如:卡桑德拉CLI:指定的主鍵

create columnfamily test (
    my_key_name varchar primary key, 
    value varchar); 

默認情況下,卡桑德拉CLI創建名稱爲「KEY」

主鍵

回答

3

您要查找的屬性是key_alias。不幸的是,你目前無法通過cassandra-cli來設置它,只有cqlsh。我打開了CASSANDRA-4158來解決這個問題。

0

下面是從Datastax網站上卡桑德拉1.1架構相關的博客文章CQL例如 http://www.datastax.com/dev/blog/schema-in-cassandra-1-1

CREATE TABLE users (
    id uuid PRIMARY KEY, 
    name varchar, 
    state varchar 
); 

我只用0.7.x您可以在其中指定密鑰的數據類型。以下是從0.7.6 cassandra-cli「幫助承擔」;命令

assume <column_family> keys as <type>; 

Assume one of the attributes (comparator, sub_comparator, validator or keys) 
of the given column family to match specified type. Available types: bytes, integer, long, lexicaluuid, timeuuid, utf8, ascii. 
1

創建或通過CLI更新列族時,可以指定column_metadata標識類型(驗證類)和/或如果該列的索引。 例如,假設你已經創建了測試列族,並希望指定列my_key_name爲字符串類型,其索引:

update column family test 
with column_metadata = 
    [ 
    {column_name: 'my_key_name', validation_class: UTF8Type, index_type: KEYS} 
    ]; 

如果你想以後刪除索引

update column family test with column_metadata = [];