का एक कुल चेकसम बनाएं, मैं कुल मिलाकर कॉलम के सभी मानों का चेकसम गणना करना चाहता हूं।कॉलम
दूसरे शब्दों में, मैं
md5(group_concat(some_column))
के कुछ बराबर इस दृष्टिकोण के साथ समस्या क्या करना चाहते है:
- यह अक्षम है। इसे एमडी 5 फ़ंक्शन
- group_concat में अधिकतम लंबाई 1024 है, जिसके बाद कॉलम के सभी मानों को कॉलम के सभी मानों को एक अस्थायी संग्रहण में जोड़ना होगा, जिसके बाद बाकी सब कुछ छोटा हो जाएगा।
(यदि आप सोच रहे हैं, आप कर सकते हैं यह सुनिश्चित करें कि मूल्यों के concat एक सुसंगत क्रम में है, तथापि, के रूप में यह विश्वास है या नहीं group_concat() यह भीतर खंड द्वारा एक आदेश को स्वीकार करता है, जैसे group_concat(some_column order by some_column)
)
MySQL गैर-मानक बिटवाई कुल कार्यों BIT_AND(), BIT_OR() और BIT_XOR() प्रदान करता है जो मुझे लगता है कि इस समस्या के लिए उपयोगी होगा। कॉलम इस मामले में संख्यात्मक है लेकिन मुझे यह जानने में दिलचस्पी होगी कि स्ट्रिंग कॉलम के साथ ऐसा करने का कोई तरीका है या नहीं।
इस विशेष एप्लिकेशन के लिए, चेकसम को क्रिप्टोलॉजिकल रूप से सुरक्षित नहीं होना चाहिए।
'SUM()' यहां उपयोग करने के लिए सही बात नहीं है, क्योंकि दो अलग-अलग चेकसम एक ही मूल्य पर आसानी से योग कर सकते हैं –
आप इस दृष्टिकोण के साथ संख्यात्मक अतिप्रवाह से कैसे बचते हैं? – Robert