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

MySQL त्रुटि 1075 (42000) को ठीक करें:गलत तालिका परिभाषा; केवल एक ऑटो कॉलम हो सकता है और इसे एक कुंजी के रूप में परिभाषित किया जाना चाहिए

<घंटा/>

इस त्रुटि को ठीक करने के लिए, आपको auto_increment फ़ील्ड में प्राथमिक कुंजी जोड़ने की आवश्यकता है। आइए अब देखें कि यह त्रुटि कैसे होती है -

यहां, हम एक टेबल बना रहे हैं और यह वही त्रुटि देता है -

mysql> तालिका बनाएं DemoTable(StudentId int NOT NULL AUTO_INCREMENT, StudentName varchar(40), StudentAge int);ERROR 1075 (42000):गलत तालिका परिभाषा; केवल एक ऑटो कॉलम हो सकता है और इसे एक कुंजी के रूप में परिभाषित किया जाना चाहिए

उपरोक्त त्रुटि को हल करने के लिए, आपको AUTO_INCREMENT के साथ PRIMARY KEY को जोड़ना होगा। आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं DemoTable(StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(40), StudentAge int);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.01 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -

mysql> DemoTable(StudentName,StudentAge) मान ('क्रिस ब्राउन',19) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.30 सेकंड) mysql> DemoTable(StudentName,StudentAge) मानों ('डेविड मिलर') में डालें, 18);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड)mysql> DemoTable(StudentName,StudentAge) मानों में डालें('जॉन डो',20);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड)

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

mysql> डेमोटेबल से *चुनें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+-----------+--------------+---------------+| छात्र आईडी | छात्र का नाम | छात्र आयु |+----------+--------------+---------------+| 1 | क्रिस ब्राउन | 19 || 2 | डेविड मिलर | 18 || 3 | जॉन डो | 20 |+----------+--------------+---------------+3 पंक्तियाँ सेट में (0.00 सेकंड )
  1. "इंडेक्स" नाम के साथ टेबल कॉलम बनाते समय MySQL सिंटैक्स में त्रुटि ठीक करें?

    आप अनुक्रमणिका का उपयोग स्तंभ नाम के रूप में नहीं कर सकते क्योंकि यह एक आरक्षित शब्द है। इसके लिए आपको कॉलम नाम के आसपास बैकटिक्स का उपयोग करना होगा। यदि आप एक आरक्षित शब्द का उपयोग कॉलम नाम के रूप में करेंगे, तो आप निम्न त्रुटि देख सकते हैं- mysql> create table DemoTable    -> ( &n

  1. MySQL में तालिका अपडेट करें और नए कॉलम में केवल आद्याक्षर नाम प्रदर्शित करें

    प्रारंभिक प्राप्त करने के लिए, substring_index() के साथ बाएं() की अवधारणा का उपयोग करें। आइए एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.18 सेकंड) इंसर्ट कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें - डेमो13 (पूर्ण_नाम) मान (क्रिस ब्राउन) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.28

  1. MySQL त्रुटि त्रुटि 1099 (HY000):तालिका को एक रीड लॉक के साथ बंद कर दिया गया था और इसे अपडेट नहीं किया जा सकता है

    LOCK TABLES क्वेरी से छुटकारा पाने के लिए, आपको अनलॉक TABLES का उपयोग करना होगा। आइए एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.51 सेकंड) इंसर्ट कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें - सम्मिलित करें डेमो6 मानों में (एयूएस); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) चयन कथन क