2009-11-23 8 views
16

मैं phpMyAdmin में गया और एक पूर्णांक (15) फ़ील्ड के लिए मान को 10 अंकों की संख्या में बदल दिया, इसलिए सब कुछ ठीक काम करना चाहिए। मैं मान '4085628851' में प्रवेश किया और मैं निम्नलिखित त्रुटि मिल रही है:मैं 'कॉलम के लिए समायोजित श्रेणी मूल्य से बाहर' त्रुटि को कैसे ठीक करूं?

Warning: #1264 Out of range value adjusted for column 'phone' at row 1

यह तो '2147483647' के लिए मूल्य बदल जाता है।

कुछ googling के बाद, मुझे यह आलेख मिला जो बताता है कि समस्या को कैसे ठीक किया जाए। http://webomania.wordpress.com/2006/10/01/out-of-range-value-adjusted-for-column-error/, लेकिन मुझे नहीं पता कि MySQL शेल में कैसे लॉगिन करें।

मैं माइस्क्ल खोल में कैसे लॉगिन करूं? मैं इस त्रुटि को कैसे ठीक करूं?

+8

फ़ोन नंबर के लिए संख्यात्मक प्रकार का उपयोग करना एक बुरा विचार है। – ThiefMaster

उत्तर

21

जिस मूल्य को आप सेट करने का प्रयास कर रहे थे वह हस्ताक्षरित INT फ़ील्ड के लिए बहुत बड़ा है। डिस्प्ले चौड़ाई (15) उन मानों की सीमा को प्रभावित नहीं करती है जिन्हें संग्रहीत किया जा सकता है, केवल मान प्रदर्शित किया जाता है।

रेफरी: MySQL Docs on numerics

फोन नंबर पर - Is it better to store telephone numbers in some canonical format or "as entered"?

+0

जानकारी के लिए धन्यवाद! – zeckdude

9

देख मैं सिर्फ BIGINT के क्षेत्र प्रकार बदल दिया, और कहा कि समस्या तय। मुझे लगता है कि मैं एक आईएनटी के लिए 2147483647 से ऊपर एक मान दर्ज नहीं कर सकता, इसलिए मुझे लगता है कि 10-अंकों का फ़ोन नंबर दर्ज करने के लिए फ़ील्ड का उपयोग करने वाले प्रत्येक व्यक्ति को बिगिनट का उपयोग किया जाता है?

8

2147483647 से अधिक मूल्य के पूर्णांक को संग्रहीत करने के लिए सबसे अच्छा विकल्प फ़ील्ड प्रकार को बिगिनट के रूप में बनाना होगा।

यदि यह फोन नंबर संग्रहीत करने के लिए है, तो मूल्य को टेक्स्ट फ़ील्ड के रूप में स्टोर करना बेहतर तरीका है।

0

आप '0 'से शुरू होने वाले मान को देने का प्रयास नहीं कर सकते हैं। यदि आप शून्य के साथ मान शुरू करना चाहते हैं, तो वर्चर डेटाटाइप

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