2012-03-14 14 views
5

नहीं बनाने के लिए वहाँ एक नई पंक्ति यदि पंक्ति कुंजी 'ROW1' मौजूद नहीं है बनाने से CQL आदेश को रोकने के लिए अद्यतन कोई तरीका है?कैसेंड्रा CQL - अद्यतन आदेश नई पंक्ति

UPDATE columnfamily SET data = 'test data' WHERE key = 'row1'; 
+0

http://stackoverflow.com/questions/8154332/cassandra-unique-constraint-on-row-key/ – Tamil

उत्तर

6

अद्यतन 2015/04/10:

कैसेंड्रा 2.0 के रूप में आप light weight transactions का उपयोग यह पूरा कर सकते हैं। ध्यान रखें कि हालांकि उन्हें "हल्के वजन" कहा जाता है, इन प्रश्नों को कैसंद्रा क्लस्टर पर बहुत अधिक काम करने की आवश्यकता होती है।

अद्यतन के लिए @BSB के लिए धन्यवाद।

पूर्व 2.0 जवाब:

सं एसक्यूएल के विपरीत, CQL Update और insert में शब्दार्थ ही हैं। पंक्ति के अस्तित्व को निर्धारित करने के लिए आपको पहले पढ़ना होगा।

+0

धन्यवाद का डुप्लिकेट लगता है। मैंने पाया है कि कैसंड्रा 1.1 बीटा में है और इसमें सीक्यूएल संस्करण 3 शामिल है। मुझे नहीं लगता कि आपको पता है कि इसमें कुछ भी शामिल होगा जो इस समस्या को हल कर सकता है? – mesh

+1

सीक्यूएल 3 सम्मिलित बनाम अद्यतन के अर्थशास्त्र को नहीं बदलता है। – psanford

+2

सी * में हल्के लेनदेन की अवधारणा है। आप "अद्यतन कर सकते हैं ... अगर EXISTS" या "अगर एक्स = वाई" – BSB

संबंधित मुद्दे