"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या MySQL में प्राथमिक कुंजी के बिना ऑटो-इंक्रीमेंट कॉलम मौजूद हो सकते हैं?

क्या MySQL में प्राथमिक कुंजी के बिना ऑटो-इंक्रीमेंट कॉलम मौजूद हो सकते हैं?

2024-11-04 को प्रकाशित
ब्राउज़ करें:285

Can Auto-Increment Columns Exist Without Being the Primary Key in MySQL?

गलत तालिका परिभाषा त्रुटि को संबोधित करना: ऑटो-वृद्धि और प्राथमिक कुंजी को संतुलित करना

परिदृश्य में एक MySQL तालिका शामिल है जहां आईडी कॉलम दृश्य के लिए एक ऑटो-वृद्धि फ़ील्ड के रूप में कार्य करता है सुविधा, जबकि मेम्बरिड कॉलम वास्तविक अद्वितीय कुंजी के रूप में कार्य करता है। हालाँकि, प्राथमिक कुंजी (सदस्यता) के साथ तालिका को परिभाषित करने के प्रयास के परिणामस्वरूप एक त्रुटि (1075) आती है जिसमें कहा गया है कि केवल एक ऑटो कॉलम हो सकता है और यह एक कुंजी होनी चाहिए।

त्रुटि को हल करना: ऑटो-वृद्धि को संरक्षित करना और अद्वितीय कुंजी

समस्या को हल करने के लिए, एक ऑटो-इंक्रीमेंटिंग कॉलम होना संभव है जो प्राथमिक कुंजी नहीं है, बशर्ते उस पर एक इंडेक्स (कुंजी) परिभाषित हो। यहां संशोधित तालिका परिभाषा दी गई है:

CREATE TABLE members (
  id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  memberid VARCHAR(30) NOT NULL,
  `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  firstname VARCHAR(50) NULL,
  lastname VARCHAR(50) NULL,
  PRIMARY KEY (memberid),
  KEY (id)                          # or: UNIQUE KEY (id)
) ENGINE = MYISAM;

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

इष्टतम दृष्टिकोण चुनना: प्रदर्शन और स्थान को संतुलित करना

सबसे अच्छा विकल्प प्रदर्शन और डिस्क स्थान के सापेक्ष महत्व पर निर्भर करता है। यदि प्रदर्शन सर्वोपरि है, तो ऑटो-इंक्रीमेंटिंग आईडी कॉलम को बनाए रखना और सदस्य आईडी पर एक इंडेक्स का उपयोग करना एक संतुलन प्रदान करता है:

  • ऑटो-इंक्रीमेंटिंग आईडी कुशल सॉर्टिंग और रेंज क्वेरी प्रदान करता है।
  • सदस्य आईडी पर सूचकांक अद्वितीय सदस्य पहचानकर्ता का उपयोग करके त्वरित लुकअप सुनिश्चित करता है। -बढ़ता हुआ क्षेत्र. यह दृष्टिकोण बेहतर स्थान उपयोग के लिए कुछ प्रदर्शन का त्याग करता है। अंततः, प्रदर्शन और स्थान के बीच का चुनाव एप्लिकेशन की विशिष्ट आवश्यकताओं पर निर्भर करता है।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3