2012-02-05 4 views
28

मैं पहले 8000 वर्णों पर unique_index बनाने के लिए Alter कमांड बनाने का प्रयास कर रहा हूं। मैं 8000 भाग को जोड़ने का तरीका समझने में सक्षम नहीं हूं। किसी भी सहायता की सराहना की जाएगी। धन्यवाद!माइस्क्ल - लंबे टेक्स्ट फ़ील्ड पर अद्वितीय इंडेक्स बनाने के लिए तालिका विवरण बदलें

alter table <table_name> 
    add unique index <index_name> (<column_name> (8000)) 

यह प्रासंगिक व्याकरण है:

ALTER TABLE nextractor.tblhtml 
    ADD UNIQUE INDEX uniqueindex_InnerHTML (InnerHtml); 

उत्तर

42

MySQL docs के अनुसार, आप कुछ इस तरह की जरूरत है

| ADD [CONSTRAINT [symbol]] 
     UNIQUE [INDEX|KEY] [index_name] 
     [index_type] (index_col_name,...) [index_option] ... 

और

index_col_name: 
    col_name [(length)] [ASC | DESC] 
+0

मैंने ऊपर उल्लिखित स्टेटमेंट की कोशिश की और यह मुझे गलत वाक्यविन्यास देता है ( –

+0

@ माइक - मैं कॉलम नाम और लंबाई के आसपास * अतिरिक्त * कोष्ठक भूल गया। यह अब काम करता है। –

+0

जब मैंने ऐसा किया तो मुझे त्रुटि मिली MySQL ने कहा "निर्दिष्ट कुंजी बहुत लंबी थी; अधिकतम कुंजी लंबाई 767 बाइट्स है", इसलिए यूटीएफ 8 टेबल के लिए यह चार बाइट्स का उपयोग करता है। मेरे वर्चर फील्ड 255 लंबे थे, इसलिए मेरे वर्चर फील्ड को 1 9 1 में सेट करने से मुझे पर्याप्त बनाने के लिए पर्याप्त जगह मिली एक नया अद्वितीय सूचकांक। –

4

वैकल्पिक तालिका nextractor.tblhtml अद्वितीय इंडेक्स अनन्य इंडेक्स_इनर HTML (इनर एचटीएमएल (8000)) जोड़ें;

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