2012-04-13 13 views
5

का नाम निर्दिष्ट यह कैसेंड्रा CLI के माध्यम से प्राथमिक कुंजी का एक नाम निर्दिष्ट करना संभव है,:कैसेंड्रा CLI: CQL के माध्यम से की तरह प्राथमिक कुंजी

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

डिफ़ॉल्ट रूप से, कैसेंड्रा CLI नाम 'कुंजी'

साथ प्राथमिक कुंजी बनाता है

उत्तर

3

जो विशेषता आप खोज रहे हैं वह key_alias है। दुर्भाग्यवश, आप वर्तमान में इसे कैसंड्रा-क्ली, केवल cqlsh के माध्यम से सेट नहीं कर सकते हैं। मैंने इसे ठीक करने के लिए CASSANDRA-4158 खोला है।

0

यहाँ 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 का इस्तेमाल किया है Datastax वेबसाइट पर एक कैसेंड्रा 1.1 स्कीमा संबंधित ब्लॉग पोस्ट से एक CQL उदाहरण है जहां आप कुंजी के डेटा प्रकार निर्दिष्ट कर सकते हैं। निम्नलिखित 0.7.6 कैसंद्रा-क्ली से है "मदद मानें;" आदेश

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 = []; 
ड्रॉप करना चाहता था
संबंधित मुद्दे