2011-10-06 16 views
5

मेरे पास संग्रह संग्रहण इंजन के साथ एक तालिका है और मैं इसे साफ़ करना चाहता हूं। इंजन की परिभाषा के कारण delete, न ही truncate काम करेगा। लेकिन क्या पूरे टेबल को दोबारा बनाने की तुलना में कोई और तरीका है?mysql truncate संग्रह तालिका

+0

मुझे लगता है कि आप बस ऐसा कर सकते हैं, तालिका छोड़ सकते हैं और इसे फिर से बना सकते हैं, लेकिन तालिका 'कार्य से क्यों नहीं हटाएंगे? आप किस इंजन का उपयोग कर रहे हैं? – Ben

उत्तर

9

Bug #15558 truncate doesn't clear table on archive storage engine tables

असल में, डिजाइनरों इसे उस तरह से काम करना चाहता था देखें। उस बग को ठीक करना जब आप आर्किविव स्टोरेज इंजन से संग्रहीत टेबल पर ट्रंकेट का उपयोग करने का प्रयास करते हैं तो उसे एक त्रुटि वापस करनी होती है।

एकमात्र कामकाज डीआरओपी है और तालिका को फिर से बनाएं।

+0

मुझे उम्मीद थी कि इस मुद्दे के लिए कुछ प्रकार का कामकाज था ... धन्यवाद। – Vilius

17

एक और कामकाज इसे ब्लैकहोले टेबल के रूप में बदलने के लिए होगा, फिर इसे वापस बदलें।

+1

ठीक है अगर यह तालिका को छोटा करने का सबसे मजेदार तरीका नहीं है ... –

+1

इस परीक्षण के बाद मैंने पाया कि यह प्रभावी है। .ARZ फ़ाइल को तालिका परिभाषा को फिर से बनाने की आवश्यकता के बिना रीसेट किया गया है। – nullability

+0

यह बेहतर उत्तर है। – ilikesleeping

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