यह त्रुटि तब हो सकती है जब आप अनुमत सीमा से अधिक डेटा सेट करने का प्रयास करते हैं। उदाहरण के तौर पर, आप स्ट्रिंग को बिट प्रकार के कॉलम में संग्रहीत नहीं कर सकते क्योंकि वर्चर या स्ट्रिंग बिट डेटा प्रकार से अधिक आकार लेती है।
आपको बिट टाइप कॉलम के लिए निम्न सिंटैक्स का उपयोग करने की आवश्यकता है:
anyBitColumnName=b '1'ORanyBitColumnName=b '0'
उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है:
mysql> तालिका बनाएं IncaseentialDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> PRIMARY KEY(Id) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.70 सेकंड)पूर्व>इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। रिकॉर्ड डालने की क्वेरी इस प्रकार है:
mysql> ErrorDemo (नाम, isStudent) मान ('जॉन', 1) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> ErrorDemo में डालें (नाम, छात्र है) मान ('सैम', 0);क्वेरी ओके, 1 पंक्ति प्रभावित (0.21 सेकंड) mysql> ErrorDemo (नाम, isStudent) मान ('माइक', 0) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> ErrorDemo में डालें (नाम, छात्र है) मान ('लैरी', 1); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.23 सेकंड) mysql> ErrorDemo में डालें (नाम, छात्र है) मान ('कैरोल', 1); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> ErrorDemo (नाम, isStudent) मान ('रॉबर्ट', 0) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> ErrorDemo में डालें (नाम, छात्र है) मान ('जेम्स', 1); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> ErrorDemo (नाम, isStudent) मान ('बॉब', 1) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> ErrorDemo (नाम, छात्र) मानों में डालें ('डेविड' ,1);क्वेरी ओके, 1 पंक्ति प्रभावित (0.15 सेकंड)mysql> ErrorDemo(Name,isStudent) मानों में डालें('रिकी',0);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड)चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है:
mysql> ErrorDemo से *चुनें;निम्न आउटपुट है:
<पूर्व>+-----+--------+----------+| आईडी | नाम | isStudent |+-----+-----------+-----------+| 1 | जॉन | || 2 | सैम | || 3 | माइक | || 4 | लैरी | || 5 | कैरल | || 6 | रॉबर्ट | || 7 | जेम्स | || 8 | बॉब | || 9 | डेविड | || 10 | रिकी | |+----+--------+----------+10 पंक्तियों में सेट (0.00 सेकंड)
वास्तविक नमूना आउटपुट स्नैपशॉट इस प्रकार है:
त्रुटि निम्नलिखित है जैसा कि ऊपर चर्चा की गई है। यह निम्न क्वेरी में उत्पन्न होता है:
mysql> अपडेट ErrorDemo set isStudent='1' जहां Id=9;ERROR 1406 (22001):पंक्ति 1 पर कॉलम 'isStudent' के लिए डेटा बहुत लंबा है
उपरोक्त त्रुटि से बचने के लिए, आपको '1' से पहले b उपसर्ग करना होगा। अब क्वेरी इस प्रकार है:
mysql> अपडेट ErrorDemo set isStudent=b'1' जहां Id=9;क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)पंक्तियाँ मिलान:1 परिवर्तित:0 चेतावनियाँ:0
चयन कथन का प्रयोग करते हुए एक बार फिर तालिका अभिलेखों की जाँच करें। क्वेरी इस प्रकार है:
mysql> ErrorDemo से *चुनें;
निम्न आउटपुट है:
<पूर्व>+-----+--------+----------+| आईडी | नाम | isStudent |+-----+-----------+-----------+| 1 | जॉन | || 2 | सैम | || 3 | माइक | || 4 | लैरी | || 5 | कैरल | || 6 | रॉबर्ट | || 7 | जेम्स | || 8 | बॉब | || 9 | डेविड | || 10 | रिकी | |+----+--------+----------+10 पंक्तियों में सेट (0.00 सेकंड)वास्तविक नमूना आउटपुट स्नैपशॉट इस प्रकार है:
छात्र कॉलम देखें।
अब हम उसी आईडी को 0 के मान से अपडेट करेंगे। यह संबंधित आईडी के साथ एक रिक्त मान देगा। क्वेरी इस प्रकार है:
mysql> अद्यतन ErrorDemo set Name='Maxwell', isStudent=b'0' जहाँ Id=9;क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड)पंक्तियाँ मिलान:1 परिवर्तित:1 चेतावनियाँ:0
ऊपर अद्यतन विशेष पंक्ति के रिकॉर्ड की जाँच करें। यहां आईडी 9 है। अब पंक्ति को रिकॉर्ड आईडी 9 के साथ अपडेट किया गया है। क्वेरी इस प्रकार है:
mysql> ErrorDemo से * चुनें जहां Id=9;
निम्न आउटपुट है:
+-----+---------+----------+| आईडी | नाम | isStudent |+-----+-----------+-----------+| 9 | मैक्सवेल | |+----+---------+----------+1 पंक्ति सेट में (0.00 सेकंड)