information_schema.COLUMNS टेबल से COLUMN_KEY = 'PRI' जांचकर किसी टेबल के सभी कॉलम की प्राइमरी की स्थिति देख सकते हैं।
टेबल बनाएं
mysql> CREATE TABLE DemoTable1886 (
Id INT NOT NULL,
FirstName VARCHAR(20),
LastName VARCHAR(20),
Age INT,
DateOfBirth DATETIME,
Education VARCHAR(40),
PRIMARY KEY(Id)
);
प्राइमरी की जांच क्वेरी
mysql> SELECT COLUMN_NAME,
CASE WHEN COLUMN_KEY = 'PRI' THEN 'This is a Primary key Column'
ELSE 'This is not a Primary key Column' END AS Output
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'DemoTable1886'
ORDER BY ORDINAL_POSITION;
आउटपुट:
+-------------+--------------------------------+ | COLUMN_NAME | Output | +-------------+--------------------------------+ | Id | This is a Primary key Column | | FirstName | This is not a Primary key Column | | LastName | This is not a Primary key Column | | Age | This is not a Primary key Column | | DateOfBirth | This is not a Primary key Column | | Education | This is not a Primary key Column | +-------------+--------------------------------+
COLUMN_KEY मान
| मान | अर्थ |
|---|---|
PRI | प्राइमरी की |
UNI | यूनिक की (पहला कॉलम) |
MUL | गैर-यूनिक इंडेक्स (या यूनिक का बाद का कॉलम) |
(खाली) | कोई इंडेक्स नहीं |
केवल प्राइमरी की कॉलम प्राप्त करें
SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'DemoTable1886' AND COLUMN_KEY = 'PRI';
प्रोग्रामेटिक उपयोग
एप्लिकेशन कोड (Java, Python, PHP) में इस क्वेरी से स्कीमा मेटाडेटा पढ़कर डायनामिक क्वेरी/फॉर्म बना सकते हैं।