2009-12-19 8 views
6

जब दायर किया गया INT (डेटा प्रकार) है, तो मुझे MySQL में संयोजन के रूप में क्या चुनना चाहिए?MySQL में डेटा प्रकार INT के लिए सबसे अच्छा संयोजन क्या है?

+2

अगर मैं निष्पक्ष हूं, तो मुझे माफ़ कर दो, लेकिन केवल वर्ण डेटा के लिए संयोजन नहीं है (नियमों के सेट को निर्धारित करने के लिए वर्णों को क्रमबद्ध करने के लिए प्रयोग किया जाता है)? – Yuliy

उत्तर

17

संयोजन स्ट्रिंग सॉर्टिंग को प्रभावित करता है। इसका संख्यात्मक डेटा प्रकारों पर कोई प्रभाव नहीं पड़ता है।

यह हो सकता है कि तारों में एम्बेडेड संख्याओं को कैसे क्रमबद्ध किया जाए, इसका असर हो। लेकिन यह अभी भी संख्यात्मक डेटा प्रकारों जैसे आईएनटी पर कोई प्रभाव नहीं है।

+1

आप सही हैं - बस जोड़ने के लिए: यदि आप बहु-लैंग पृष्ठों से निपटते हैं और क्रमबद्ध करने के लिए सूची है उदा। पोलिश और आपको सॉर्टिंग के लिए उचित संयोजन को मजबूर करना होगा, और :) आप उदा। सॉर्टिंग वेक्टर के रूप में INT कॉलम, तो आपके पास बेहतर संयोजन है (उदाहरण के लिए यूटीएफ 8), या आपको SQL त्रुटियां मिलेंगी, उदाहरण के लिए: "सिंटेक्स त्रुटि या पहुंच उल्लंघन: 1253 COLLATION 'utf8_polish_ci' वर्णक सेट 'लैटिन 1' ' – Jeffz

+0

के लिए मान्य नहीं है @ जेफज़ तो आपने इसे कैसे हल किया? –

+0

आप तुलना के बाद "चयन के बाद" क्षेत्र में फ़ील्ड केस द्वारा किसी क्षेत्र पर संयोजन को मजबूर कर सकते हैं: चुनें [...] जहां अंतिम_नाम = 'सालदान' COLLATE utf8_unicode_ci और आयु = 37; यदि आप उस वाक्य के अंत में COLLATE जोड़ते हैं, तो संयोजन उम्र के क्षेत्र में लागू होगा और इसलिए 'लैटिन 1' के बारे में त्रुटि (अजीब) त्रुटि को ट्रिगर करें। आज़माएं: http://sqlfiddle.com/#!9/491fd5/5 – user2513484

4

जहाँ तक मुझे पता है, आप केवल स्ट्रिंग प्रकारों के लिए एक संयोजन (या उस मामले के लिए एक वर्ण सेट) निर्दिष्ट कर सकते हैं, यानी। प्रकार VARCHAR, CHAR, ENUM, SET, और टेक्स्ट प्रकार (TINYTEXT, टेक्स्ट, MEDIUMTEXT, LONGTEXT)

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