Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL NOT NULL को प्राथमिक कुंजी फ़ील्ड में क्यों नहीं जोड़ा जाना चाहिए?

<घंटा/>

आपको प्राथमिक कुंजी फ़ील्ड में NOT NULL जोड़ने की आवश्यकता नहीं है क्योंकि यह स्वचालित रूप से NOT NULL हो जाता है। प्राथमिक कुंजी NOT NULL और Unique Key दोनों का संयोजन है।

प्राथमिक कुंजी फ़ील्ड का डेमो यहां दिया गया है। आइए पहले एक टेबल बनाएं। तालिका बनाने की क्वेरी इस प्रकार है:

mysql> टेबल बनाएं NotNullAddDemo -> ( -> Id int AUTO_INCREMENT, -> PRIMARY KEY(Id) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.81 सेकंड)

उपरोक्त तालिका में, आपको प्राथमिक कुंजी फ़ील्ड में NOT NULL जोड़ने की आवश्यकता नहीं है क्योंकि MySQL आंतरिक रूप से इसे NOT NULL में परिवर्तित करता है। यह जाँचने के लिए कि यह सही है या नहीं, निम्न सिंटैक्स का उपयोग करें।

डीईएससी yourTableName;

आइए अब तालिका विवरण प्राप्त करने के लिए उपरोक्त सिंटैक्स की जाँच करें:

mysql> विवरण NotNullAddDemo;

निम्न आउटपुट है:

<पूर्व>+----------+-------------+-----+-----+---------+----- -----------+| फील्ड | प्रकार | शून्य | कुंजी | डिफ़ॉल्ट | अतिरिक्त |+----------+-------- ----------+| आईडी | इंट(11) | नहीं | पंचायती राज | नल | auto_increment |+----------+-----------+------+-----+---------+---------- ----------+1 पंक्ति में सेट (0.07 सेकंड)

कॉलम नल को देखें, एक मान NO है जिसका अर्थ है कि कोई NULL मान नहीं है।

NOT NULL की जांच करने के लिए, आइए तालिका में कुछ NULL रिकॉर्ड डालें। यह NULL मान की अनुमति देगा लेकिन हर बार यह 1 से मान की गणना करता है। तालिका में रिकॉर्ड सम्मिलित करने के लिए क्वेरी।

mysql> NotNullAddDemo मानों (NULL) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> NotNullAddDemo मानों (NULL) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.45 सेकंड)

प्राथमिक कुंजी के लिए दो NULL मान डालने के बाद, यदि आप मान 1 डालने का प्रयास करते हैं, तो एक त्रुटि उत्पन्न होगी। ऐसा इसलिए है क्योंकि MySQL पहले NULL मान को 1 के रूप में और दूसरे NULL मान को 2 के रूप में गिनता है।

त्रुटि इस प्रकार है यदि आप अब 1 डालने का प्रयास करेंगे:

mysql> NotNullAddDemo मानों में सम्मिलित करें(1);ERROR 1062 (23000):कुंजी 'प्राथमिक' के लिए डुप्लिकेट प्रविष्टि '1'

यदि आप मान 3 डालते हैं तो यह स्वीकार करेगा:

mysql> NotNullAddDemo मानों में डालें (3); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) mysql> NotNullAddDemo मानों (NULL) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है:

mysql> NotNullAddDemo से *चुनें;

निम्न आउटपुट है:

+-----+| आईडी |+----+| 1 || 2 || 3 || 4 |+----+4 पंक्तियाँ सेट में (0.00 सेकंड)

  1. मैं MySQL में प्राथमिक कुंजी कैसे छोड़ूं?

    प्राथमिक कुंजी छोड़ने के लिए, तालिका को बदलने के लिए पहले ALTER का उपयोग करें। इसके साथ, नीचे की तरह कुंजी को छोड़ने के लिए DROP का उपयोग करें सिंटैक्स टेबल बदलें yourTableName ड्रॉप प्राइमरी की; आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.48) सेकंड) यहाँ तालिका के विवरण की जाँ

  1. MySQL में NOT NULL मान के लिए 1 सेट करें

    NOT NULL सेट करने के लिए IS NOT NULL का उपयोग करें और मान ज्ञात करें। वाक्य रचना इस प्रकार है - अगर ( NULL नहीं है, 1,0) को anyAliasName के रूप में चुनें; यहाँ कार्यशील क्वेरी है - चुनें कि क्या ( NULL नहीं है, 1,0); यह निम्नलिखित आउटपुट देगा - +--------------------------+| अगर ( NULL नहीं है, 1

  1. MySQL में प्राथमिक कुंजी रीसेट करें

    प्राथमिक कुंजी को रीसेट करने के लिए, पहले TRUNCATE तालिका का उपयोग करें, फिर ALTER TABLE का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1929 ( UserId int NOT NULL AUTO_INCREMENT, PRIMARY KEY(UserId) );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कु