MySQL में SHOW CREATE TABLE का उपयोग करके फॉरेन की कंस्ट्रेंट पहचानना
किसी टेबल पर परिभाषित फॉरेन की कंस्ट्रेंट देखने के लिए SHOW CREATE TABLE कमांड का उपयोग करें। यह पूरी टेबल परिभाषा दिखाता है जिसमें फॉरेन की विवरण शामिल होते हैं।
उदाहरण के साथ पूर्ण कार्यान्वयन
पैरेंट टेबल बनाना
mysql> CREATE TABLE DemoTable1 (
Id INT NOT NULL PRIMARY KEY,
EmployeeName VARCHAR(100)
);
चाइल्ड टेबल बनाना (फॉरेन की के साथ)
mysql> CREATE TABLE DemoTable2 (
Id INT NOT NULL,
StreetName VARCHAR(100),
CityName VARCHAR(100),
CountryName VARCHAR(100),
PinCode INT,
EmployeeId INT,
PRIMARY KEY(Id),
FOREIGN KEY (Id) REFERENCES DemoTable1(Id)
);
फॉरेन की पहचान करने के लिए क्वेरी
mysql> SHOW CREATE TABLE DemoTable2\G
आउटपुट:
*************************** 1. row ***************************
Table: DemoTable2
Create Table: CREATE TABLE `demotable2` (
`Id` int(11) NOT NULL,
`StreetName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`CityName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`CountryName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`PinCode` int(11) DEFAULT NULL,
`EmployeeId` int(11) DEFAULT NULL,
PRIMARY KEY (`Id`),
CONSTRAINT `demotable2_ibfk_1` FOREIGN KEY (`Id`) REFERENCES `demotable1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1 row in set (0.00 sec)
मुख्य भाग:
CONSTRAINT `demotable2_ibfk_1` FOREIGN KEY (`Id`) REFERENCES `demotable1` (`id`)
INFORMATION_SCHEMA से फॉरेन की सूची प्राप्त करना
प्रोग्रामेटिक उपयोग के लिए बेहतर:
SELECT
TABLE_NAME,
COLUMN_NAME,
CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = 'your_database'
AND REFERENCED_TABLE_NAME IS NOT NULL;
विशिष्ट टेबल के लिए
SELECT
CONSTRAINT_NAME,
COLUMN_NAME,
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = 'your_database'
AND TABLE_NAME = 'DemoTable2'
AND REFERENCED_TABLE_NAME IS NOT NULL;
फॉरेन की मेटाडेटा कॉलम व्याख्या
- CONSTRAINT_NAME: कंस्ट्रेंट का नाम (ऑटो-जेनरेटेड या यूजर-डिफाइंड)
- COLUMN_NAME: चाइल्ड टेबल में फॉरेन की कॉलम
- REFERENCED_TABLE_NAME: पैरेंट टेबल नाम
- REFERENCED_COLUMN_NAME: पैरेंट टेबल में रेफरेंस कॉलम
नोट: \G वर्टिकल फॉर्मेट में आउटपुट देता है, जो चौड़े टेबल के लिए पठनीय होता है।