मैं वेब ऐप में पहली बार कैसंद्रा का उपयोग कर रहा हूं और मुझे एक क्वेरी समस्या मिली है। यहाँ मेरी टैब है:कैसंड्रा प्राथमिक कुंजी कॉलम प्रतिबंधित नहीं किया जा सकता
CREATE TABLE vote (
doodle_id uuid,
user_id uuid,
schedule_id uuid,
vote int,
PRIMARY KEY ((doodle_id), user_id, schedule_id)
);
हर अनुरोध पर, मैं अपने विभाजन कुंजी, doodle_id संकेत मिलता है। उदाहरण के लिए मैं किसी भी समस्याओं के बिना कर सकते हैं:
select * from vote where doodle_id = c4778a27-f2ca-4c96-8669-15dcbd5d34a7 and user_id = 97a7378a-e1bb-4586-ada1-177016405142;
लेकिन पिछले अनुरोध पर मैंने बनाया:
select * from vote where doodle_id = c4778a27-f2ca-4c96-8669-15dcbd5d34a7 and schedule_id = c37df0ad-f61d-463e-bdcc-a97586bea633;
मुझे मिल निम्न त्रुटि:
Bad Request: PRIMARY KEY column "schedule_id" cannot be restricted (preceding column "user_id" is either not restricted or by a non-EQ relation)
मैं के साथ नए कर रहा हूँ कैसंद्रा, लेकिन अगर मैं गलत हूं, तो मुझे सही करें, एक समग्र प्राथमिक कुंजी में, पहला भाग पार्टिशन कुंजी है जो कैसंद्रा को यह जानने के लिए अनिवार्य है कि डेटा कहां देखना है। फिर अन्य भागों डेटा को सॉर्ट करने के लिए कुंजी को क्लस्टर कर रहे हैं।
लेकिन मुझे अभी भी नहीं पता कि मेरा पहला अनुरोध क्यों काम कर रहा है और दूसरा नहीं?
यदि कोई भी मदद कर सकता है तो यह बहुत खुशी होगी।
धन्यवाद दो उत्तरों के लिए बहुत कुछ! मैं अब थोड़ा बेहतर समझता हूं कि कैसे कैसंद्रा काम करता है। इसलिए मैंने अपनी क्वेरी को संभालने के लिए एक नई तालिका बनाई है और यह ठीक काम करता है। – Orodan
और यदि मैं प्रदर्शन करना चाहता हूं> और <ऑपरेटर डूडलीड में तो मुझे टेबल कैसे बनाना चाहिए? –
@ParthTrivedi 'doodle_id' पर एक रेंज क्वेरी करने के लिए आपको एक अलग विभाजन कुंजी के साथ एक नई तालिका बनाने की आवश्यकता होगी (पता लगाएं कि आपके डेटा के लिए क्या समझ में आता है)। फिर आप एक विशिष्ट विभाजन कुंजी के लिए 'doodle_id' की एक श्रृंखला से पूछ सकते हैं। – Aaron