Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में information_schema से कॉलम प्राइमरी की है या नहीं जांचें

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) में इस क्वेरी से स्कीमा मेटाडेटा पढ़कर डायनामिक क्वेरी/फॉर्म बना सकते हैं।

  1. Java में MySQL ResultSet से कॉलम नाम कैसे प्राप्त करें? Java में MySQL ResultSet से कॉलम नाम कैसे प्राप्त करें?

    ResultSetMetaData.getMetaData() का उपयोग करें JDBC में ResultSet से कॉलम नाम प्राप्त करने के लिए getMetaData() मेथड को कॉल करें जो ResultSetMetaData ऑब्जेक्ट लौटाता है। प्रोटोटाइप ResultSetMetaData getMetaData() throws SQLException; मुख्य मेथड्स getColumnCount() — कॉलम की संख्या। getColumnLabel(

  1. - MySQL में प्राइमरी की कैसे रीसेट करें?

    MySQL में ऑटो-इन्क्रीमेंट प्राइमरी की को रीसेट (1 से शुरू) करने के लिए, TRUNCATE TABLE का उपयोग करें जो डेटा हटाता है और ऑटो-इन्क्रीमेंट काउंटर रीसेट करता है, या ALTER TABLE से मैन्युअली सेट करें। विधि 1: TRUNCATE TABLE (सबसे सरल, डेटा हटाता है) टेबल बनाएं: mysql> CREATE TABLE DemoTable1929 (

  1. - MySQL में प्राइमरी की को कई टेबल में फॉरेन की के रूप में कैसे रेफ़र करें?

    ALTER TABLE ... ADD CONSTRAINT alter table yourSecondTableName add constraint `yourConstraintName` foreign key(`yourSecondTableNamePrimaryKey`) references yourFirstTableName(yourFirstTablePrimaryKeyColumnName); उदाहरण alter table demo66 add constraint `id_fk` foreign key(`user_id`) references