तालिकाओं के बीच संबंध बनाने के लिए विदेशी कुंजी का उपयोग किया जा सकता है। विदेशी कुंजी संबंध एक से एक या एक से अनेक हो सकते हैं। एक विदेशी कुंजी किसी अन्य तालिका के दूसरे क्षेत्र से मेल खाती है।
-
एक से एक संबंध - एक टेबल से एक रिकॉर्ड को दूसरी टेबल के एक रिकॉर्ड से जोड़ा जाएगा।
-
एक से अनेक संबंध - एक रिकॉर्ड को दूसरी टेबल में कई रिकॉर्ड से जोड़ा जाएगा।
निम्नलिखित एक उदाहरण है। सबसे पहले, हम एक टेबल बनाएंगे। तालिका बनाने के लिए CREATE कमांड का उपयोग किया जाता है।
mysql> टेबल बनाएं tblF -> ( -> id int, -> FirstName varchar(100), -> FK_PK int -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.57 सेकंड)
दूसरी तालिका बनाने के लिए।
mysql> टेबल बनाएं tblP -> ( -> FK_PK int, -> LastName varchar(100), -> प्राइमरी की (FK_PK) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.94 सेकंड)
विदेशी कुंजी बनाने के लिए सिंटैक्स निम्नलिखित है।
mysql> ALTER तालिका tblF बाधा जोड़ें ConstFK विदेशी कुंजी (FK_PK) संदर्भ tblP (FK_PK); क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (2.17 सेकंड) रिकॉर्ड:0 डुप्लिकेट:0 चेतावनियाँ:0
जांचें कि क्या डीईएससी कमांड की मदद से विदेशी कुंजी बनाई गई है।
mysql> DESC tblF;
निम्न आउटपुट है।
<पूर्व>+-----------+--------------+----------+-----+---------- ---+----------+| फील्ड | प्रकार | शून्य | कुंजी | डिफ़ॉल्ट | अतिरिक्त |+----------+--------------+----------+-----+---------- ---+----------+| आईडी | इंट(11) | हाँ | | नल | || प्रथम नाम | वर्कर (100) | हाँ | | नल | || एफके_पीके | इंट(11) | हाँ | एमयूएल | नल | |+----------+--------------+----------+-----+------- -+----------+3 पंक्तियाँ सेट में (0.05 सेकंड)