2009-05-29 26 views
111

इस तालिका परिभाषा में:कुंजी कीवर्ड का क्या अर्थ है?

CREATE TABLE groups (
    ug_main_grp_id smallint NOT NULL default '0', 
    ug_uid smallint default NULL, 
    ug_grp_id smallint default NULL, 
    KEY (ug_main_grp_id) 
); 

क्या KEY कीवर्ड मतलब है? यह प्राथमिक कुंजी नहीं है, यह फोरीग्न कुंजी नहीं है, तो क्या यह सिर्फ एक सूचकांक है? यदि हां, तो KEY के साथ बनाए गए इस प्रकार के इंडेक्स के बारे में इतना खास क्या है?

+1

ऐसा लगता है कि "कुंजी" ऑपरेटर नहीं रह गया है MySQL सर्वर 5.5 में उपयोग में। यह सुनिश्चित नहीं है कि इसे हटाया गया था, लेकिन मेरे साथ एक समस्या 5.1 पर मौजूद है, लेकिन 5.5 नहीं है। – slant

उत्तर

150

से http://dev.mysql.com/doc/refman/5.1/en/create-table.html

{INDEX|KEY} 

का हवाला देते हुए तो कुंजी एक सूचकांक है;)

+6

सामान्य रूप से नोटेशन {INDEX | KEY} का अर्थ यह नहीं है कि INDEX और KEY का अर्थ समान है, या कुंजी एक इंडेक्स है;) – sergtk

+1

@sergtk: MySQL मैनुअल में नोटेशन के अनुसार, FOO | BAR का अर्थ है कि या तो कीवर्ड या कीवर्ड बार का उपयोग किया जा सकता है। आईडी है, वे समानार्थी हैं। – dotancohen

+3

बिल्कुल! MySQL मैनुअल स्पष्ट करता है कि INDEX और कुंजी समानार्थी हैं - यही कारण है कि मैंने जवाब को ऊपर उठाया। लेकिन यह जवाब से निष्कर्ष निकाला जा सकता है कि बीएनएफ नोटेशन {|} ने केवल इस मामले में समानार्थी शब्द वर्णित किए हैं। – sergtk

28

कुंजी सामान्य रूप से सूचकांक के लिए एक पर्याय है। कॉलम परिभाषा में दिए गए मुख्य विशेषता प्राथमिक कुंजी को केवल कुंजी के रूप में भी निर्दिष्ट किया जा सकता है। यह अन्य डेटाबेस सिस्टम के साथ संगतता के लिए लागू किया गया था।

column_definition: 
     data_type [NOT NULL | NULL] [DEFAULT default_value] 
     [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] 
     ... 

रेफरी: http://dev.mysql.com/doc/refman/5.1/en/create-table.html

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