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

MySQL में फॉरेन की कंस्ट्रेंट की सूची कैसे प्राप्त करें?


MySQL में केवल फॉरेन की कंस्ट्रेंट देखने के लिए information_schema.referential_constraints टेबल क्वेरी करें।

सिंटैक्स

SELECT * FROM information_schema.referential_constraints 
WHERE constraint_schema = 'yourDatabaseName';

उदाहरण: 'business' डेटाबेस

mysql> select * 
-> from information_schema.referential_constraints 
-> where constraint_schema = 'business';

मुख्य कॉलम व्याख्या

कॉलमविवरण
CONSTRAINT_NAMEफॉरेन की कंस्ट्रेंट का नाम
UNIQUE_CONSTRAINT_SCHEMAरेफरेंस की गई टेबल का डेटाबेस
UNIQUE_CONSTRAINT_NAMEरेफरेंस की गई कंस्ट्रेंट (आमतौर पर PRIMARY)
MATCH_OPTIONमैच विकल्प (NONE, PARTIAL, FULL)
UPDATE_RULEON UPDATE कार्य (CASCADE, SET NULL, NO ACTION, RESTRICT)
DELETE_RULEON DELETE कार्य (CASCADE, SET NULL, NO ACTION, RESTRICT)
TABLE_NAMEफॉरेन की वाली टेबल (चाइल्ड)
REFERENCED_TABLE_NAMEरेफरेंस की गई टेबल (पेरेंट)

नमूना आउटपुट

+--------------------+-------------------+--------------------------+---------------------------+--------------------------+------------------------+--------------+-------------+-------------+-------------------+-----------------------+
| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME          | UNIQUE_CONSTRAINT_CATALOG | UNIQUE_CONSTRAINT_SCHEMA | UNIQUE_CONSTRAINT_NAME | MATCH_OPTION | UPDATE_RULE | DELETE_RULE | TABLE_NAME        | REFERENCED_TABLE_NAME |
+--------------------+-------------------+--------------------------+---------------------------+--------------------------+------------------------+--------------+-------------+-------------+-------------------+-----------------------+
| def                | business          | ConstChild               | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION   | childdemo         | parentdemo            |
| def                | business          | ConstFK                  | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION   | tblf              | tblp                  |
| def                | business          | constFKPK                | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION   | foreigntable      | primarytable1         |
| def                | business          | FKConst                  | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION   | foreigntabledemo  | primarytabledemo      |
| def                | business          | primarytable1demo_ibfk_1 | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION   | primarytable1demo | foreigntable1         |
| def                | business          | StudCollegeConst         | def                       | business                 | PRIMARY                | NONE         | NO ACTION   | NO ACTION   | studentenrollment | college               |
+--------------------+-------------------+--------------------------+---------------------------+--------------------------+------------------------+--------------+-------------+-------------+-------------------+-----------------------+

अन्य उपयोगी क्वेरी

-- फॉरेन की कॉलम विवरण के साथ
SELECT 
  rc.CONSTRAINT_NAME,
  rc.TABLE_NAME as child_table,
  kcu.COLUMN_NAME as child_column,
  rc.REFERENCED_TABLE_NAME as parent_table,
  kcu.REFERENCED_COLUMN_NAME as parent_column,
  rc.UPDATE_RULE,
  rc.DELETE_RULE
FROM information_schema.referential_constraints rc
JOIN information_schema.key_column_usage kcu 
  ON rc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME
  AND rc.CONSTRAINT_SCHEMA = kcu.CONSTRAINT_SCHEMA
WHERE rc.CONSTRAINT_SCHEMA = 'business';

  1. - 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 VARCH

  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

  1. - MySQL में विदेशी कुंजी का उपयोग करना

    आइए समझते हैं कि MySQL में विदेशी कुंजी का उपयोग कैसे किया जा सकता है: InnoDB टेबल विदेशी कुंजी कंस्ट्रेंट जांच का समर्थन करते हैं। दो टेबल को जोड़ने के लिए केवल एक विदेशी कुंजी कंस्ट्रेंट आवश्यक नहीं है। इसका उपयोग स्टोरेज इंजन के अलावा InnoDB के लिए उपयोग किए जाने वाले कॉलम को परिभाषित करते समय