MySQL ट्यूटोरियल

मायएसक्यूएल होम MySQL परिचय माईएसक्यूएल आरडीबीएमएस

मायएसक्यूएल एसक्यूएल

मायएसक्यूएल एसक्यूएल MySQL चुनें MySQL कहाँ MySQL और, या, नोट MySQL ऑर्डर बाय MySQL सम्मिलित करें MySQL नल मान MySQL अद्यतन MySQL DELETE MySQL सीमा MySQL मिन और MAX MySQL COUNT, AVG, SUM मायएसक्यूएल लाइक मायएसक्यूएल वाइल्डकार्ड MySQL IN MySQL के बीच MySQL उपनाम MySQL जुड़ता है MySQL इनर जॉइन MySQL लेफ्ट जॉइन MySQL राइट जॉइन MySQL क्रॉस जॉइन मायएसक्यूएल सेल्फ जॉइन मायएसक्यूएल यूनियन मायएसक्यूएल ग्रुप बाय MySQL होने MySQL मौजूद है MySQL कोई भी, सभी MySQL सम्मिलित करें चुनें माईएसक्यूएल केस MySQL अशक्त कार्य MySQL टिप्पणियाँ MySQL ऑपरेटर्स

MySQL डेटाबेस

MySQL डीबी बनाएँ MySQL ड्रॉप डीबी MySQL तालिका बनाएँ MySQL ड्रॉप टेबल MySQL परिवर्तन तालिका MySQL बाधाएं MySQL शून्य नहीं है मायएसक्यूएल यूनिक MySQL प्राथमिक कुंजी MySQL विदेशी कुंजी MySQL चेक MySQL डिफ़ॉल्ट MySQL इंडेक्स बनाएं MySQL ऑटो इंक्रीमेंट MySQL तिथियाँ MySQL दृश्य

MySQL संदर्भ

MySQL डेटा प्रकार मायएसक्यूएल फंक्शन्स

MySQL उदाहरण

MySQL उदाहरण MySQL प्रश्नोत्तरी MySQL व्यायाम

MySQL विदेशी कुंजी बाधा


MySQL विदेशी कुंजी बाधा

बाधाओं का FOREIGN KEYउपयोग उन क्रियाओं को रोकने के लिए किया जाता है जो तालिकाओं के बीच के लिंक को नष्ट कर देती हैं।

A FOREIGN KEYएक तालिका में एक फ़ील्ड (या फ़ील्ड का संग्रह) है, जो PRIMARY KEYकिसी अन्य तालिका में संदर्भित करता है।

विदेशी कुंजी वाली तालिका को चाइल्ड टेबल कहा जाता है, और प्राथमिक कुंजी वाली तालिका को संदर्भित या मूल तालिका कहा जाता है।

निम्नलिखित दो तालिकाओं को देखें:

व्यक्तियों की तालिका

PersonID LastName FirstName Age
1 Hansen Ola 30
2 Svendson Tove 23
3 Pettersen Kari 20

आदेश तालिका

OrderID OrderNumber PersonID
1 77895 3
2 44678 3
3 22456 2
4 24562 1

ध्यान दें कि "आदेश" तालिका में "व्यक्ति आईडी" कॉलम "व्यक्ति" तालिका में "व्यक्ति आईडी" कॉलम को इंगित करता है।

"व्यक्ति" तालिका में "व्यक्ति आईडी" कॉलम "व्यक्ति" तालिका में है PRIMARY KEY

"आदेश" तालिका में "व्यक्ति आईडी" कॉलम "आदेश" तालिका में है FOREIGN KEY

बाधा अमान्य डेटा को FOREIGN KEYविदेशी कुंजी कॉलम में डालने से रोकती है, क्योंकि इसे मूल तालिका में निहित मानों में से एक होना चाहिए।



टेबल बनाने पर विदेशी कुंजी

जब "आदेश" तालिका बनाई जाती है, तो निम्न SQL FOREIGN KEY"PersonID" कॉलम पर बनाता है:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);

एक बाधा के नामकरण की अनुमति देने के लिए, और एक से अधिक स्तंभों पर FOREIGN KEYएक बाधा को परिभाषित करने के लिए, निम्न SQL सिंटैक्स का उपयोग करें: FOREIGN KEY

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
    REFERENCES Persons(PersonID)
);

ALTER TABLE . पर विदेशी कुंजी

FOREIGN KEYजब "आदेश" तालिका पहले से ही बनाई गई हो, तो "पर्सनआईडी" कॉलम पर एक बाधा बनाने के लिए, निम्नलिखित एसक्यूएल का उपयोग करें:

ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

एक बाधा के नामकरण की अनुमति देने के लिए, और एक से अधिक स्तंभों पर FOREIGN KEYएक बाधा को परिभाषित करने के लिए, निम्न SQL सिंटैक्स का उपयोग करें: FOREIGN KEY

ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

एक विदेशी कुंजी बाधा छोड़ें

FOREIGN KEYएक बाधा छोड़ने के लिए, निम्न SQL का उपयोग करें:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;