सामान्यतया, यह ऐसा प्रश्न नहीं है जिसका "सही" उत्तर हो। MySQL में कोई "अनंत लंबाई" टेक्स्ट स्टोरेज प्रकार नहीं है। आप LONGTEXT
. का उपयोग कर सकते हैं , लेकिन उसके पास अभी भी एक (बेतुका उच्च) ऊपरी सीमा है। फिर भी यदि आप ऐसा करते हैं, तो आप अपने 50-वर्ण वाले पाठ के लिए कॉलम के उस बेतुके बूँद से निपटने के लिए अपने DBMS को दाँतों में लात मार रहे हैं। इस तथ्य का जिक्र नहीं है कि आप इसके साथ शायद ही कुछ करते हैं।
तो, अधिकांश फ्यूचरप्रूफनेस (TM) संभवत:LONGTEXT
. द्वारा पेश किया जाता है . लेकिन यह भी समस्या को हल करने का एक बहुत ही खराब तरीका है। ईमानदारी से, मैं आवेदन आवश्यकताओं पर फिर से विचार करूंगा। ऐसे स्ट्रिंग्स को स्टोर करना जिनका कोई "डोमेन" नहीं है (जैसा कि उनके आवेदन में अच्छी तरह से परिभाषित किया गया है) और मनमानी लंबाई RDBMS की ताकत में से एक नहीं है।
अगर मैं इसे "एप्लिकेशन डिज़ाइन" स्तर पर हल करना चाहता हूं, तो मैं इसके लिए नोएसक्यूएल कुंजी-वैल्यू स्टोर का उपयोग करूंगा (और मैं एंटी-नोएसक्यूएल-प्रचार के रूप में हूं, इसलिए आप जानते हैं कि यह गंभीर है), यहां तक कि हालांकि मैं मानता हूं कि इस तरह के मामूली बदलाव के लिए यह एक महंगा बदलाव है। लेकिन अगर यह इस बात का संकेत है कि आपका डीबीएमएस अंततः क्या धारण करने वाला है, तो भविष्य में इसी समस्या से बचने के लिए अभी स्विच करना अधिक विवेकपूर्ण हो सकता है। आरडीबीएमएस में डेटा डोमेन बहुत महत्वपूर्ण है, जबकि इसे गैर-संबंधपरक समाधानों में स्पष्ट रूप से दरकिनार कर दिया गया है, जो कि आप यहां हल करने की कोशिश कर रहे हैं।
MySQL के साथ अटक गया? बस इसे बढ़ाकर VARCHAR(1000)
. करें . यदि आपके पास अपने डेटा की कोई आवश्यकता नहीं है, तो आप जो भी करते हैं उससे कोई फर्क नहीं पड़ता।