एसक्यूएल विदेशी कुंजी कीवर्ड
विदेशी कुंजी
FOREIGN KEY
बाधा एक कुंजी है जिसका उपयोग दो तालिकाओं को एक साथ जोड़ने के लिए किया जाता है ।
एक विदेशी कुंजी एक तालिका में एक फ़ील्ड (या फ़ील्ड का संग्रह) है जो किसी अन्य तालिका में प्राथमिक कुंजी को संदर्भित करती है।
तालिका बनाने पर SQL विदेशी कुंजी
जब "आदेश" तालिका बनाई जाती है, तो निम्न SQL "व्यक्ति आईडी" कॉलम पर एक विदेशी कुंजी बनाता है:
माई एसक्यूएल:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
एसक्यूएल सर्वर/ओरेकल/एमएस एक्सेस:
CREATE TABLE Orders
(
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
एक विदेशी कुंजी बाधा के नामकरण की अनुमति देने के लिए, और कई स्तंभों पर एक विदेशी कुंजी बाधा को परिभाषित करने के लिए, निम्न SQL सिंटैक्स का उपयोग करें:
MySQL / SQL सर्वर / Oracle / MS एक्सेस:
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)
);
वैकल्पिक तालिका पर SQL विदेशी कुंजी
जब "आदेश" तालिका पहले से ही बनाई गई हो, तो "व्यक्ति आईडी" कॉलम पर एक विदेशी कुंजी बाधा बनाने के लिए, निम्न SQL का उपयोग करें:
MySQL / SQL सर्वर / Oracle / MS एक्सेस:
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
एक विदेशी कुंजी बाधा के नामकरण की अनुमति देने के लिए, और कई स्तंभों पर एक विदेशी कुंजी बाधा को परिभाषित करने के लिए, निम्न SQL सिंटैक्स का उपयोग करें:
MySQL / SQL सर्वर / Oracle / MS एक्सेस:
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
एक विदेशी कुंजी बाधा छोड़ें
एक विदेशी कुंजी बाधा छोड़ने के लिए, निम्न SQL का उपयोग करें:
माई एसक्यूएल:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
एसक्यूएल सर्वर/ओरेकल/एमएस एक्सेस:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;