Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL विदेशी कुंजी जोड़ें

विदेशी कुंजी डेटाबेस संबंध स्थापित करने और संदर्भात्मक अखंडता बनाए रखने में मदद करती है। वे एक तालिका में एक या अधिक स्तंभों को दूसरी तालिका से जोड़ने में मदद करते हैं। यहाँ MySQL में विदेशी कुंजी जोड़ने का तरीका बताया गया है।

MySQL में विदेशी कुंजी कैसे जोड़ें

यहाँ MySQL में विदेशी कुंजी जोड़ने के चरण दिए गए हैं। आप SQL में CREATE TABLE या ALTER TABLE स्टेटमेंट का उपयोग करके विदेशी कुंजी बाधा जोड़ सकते हैं।

यहाँ MySQL में विदेशी कुंजी बनाने का सिंटैक्स दिया गया है।

वैकल्पिक तालिका का उपयोग करना

ALTER TABLE table_name 
ADD CONSTRAINT constraint_name 
FOREIGN KEY (foreign_key_name,...) 
REFERENCES parent_table(column_name,...);

उपरोक्त क्वेरी में, table_name वह तालिका है जहाँ आप विदेशी कुंजी जोड़ना चाहते हैं। constraint_name विदेशी कुंजी बाधा का नाम है। विदेशी_की_नाम, ... विदेशी कुंजी स्तंभों की सूची है।

parent_table वह तालिका है जिसमें आपके विदेशी_की संदर्भ हैं, उसके बाद उस तालिका में कॉलम नामों की सूची है

बोनस पढ़ें :MySQL ऑल्टर टेबल कॉलम

तालिका बनाएं का उपयोग करना

CREATE TABLE table_name(
    column_name column_description,
    CONSTRAINT constraint_name
    FOREIGN KEY (foreign_key_name,...) 
        REFERENCES parent_table(column_name,...)
)

उपरोक्त क्वेरी में, table_name वह तालिका है जहाँ आप विदेशी कुंजी जोड़ना चाहते हैं। constraint_name विदेशी कुंजी बाधा का नाम है। विदेशी_की_नाम, ... विदेशी कुंजी स्तंभों की सूची है।

parent_table वह तालिका है जिसमें आपके विदेशी_की संदर्भ हैं, उसके बाद उस तालिका में कॉलम नामों की सूची है।

कृपया ध्यान दें , ALTER TABLE में आपको ADD CONSTRAINT का उपयोग करने की आवश्यकता है जबकि CREATE TABLE में आपको केवल CONSTRAINT कीवर्ड का उपयोग करने की आवश्यकता है।

बोनस पढ़ें :MySQL DROP विदेशी कुंजी प्रतिबंध

MySQL विदेशी कुंजी उदाहरण जोड़ें

मान लें कि आपके पास निम्न तालिकाएं हैं।

आइए 2 टेबल बनाएं (श्रेणियां और आदेश ) और आदेश . में विदेशी कुंजी बाधा जोड़ें , id . का संदर्भ देना श्रेणियों में कॉलम टेबल।

mysql> create table categories(id int auto_increment primary key,name varchar(255));

mysql> create table orders(id int auto_increment primary key,category_id int,
 CONSTRAINT fk_cat 
 FOREIGN KEY (category_id) 
 REFERENCES categories(id));

mysql> describe orders;
+-------------+---------+------+-----+---------+----------------+
| Field       | Type    | Null | Key | Default | Extra          |
+-------------+---------+------+-----+---------+----------------+
| id          | int(11) | NO   | PRI | NULL    | auto_increment |
| category_id | int(11) | YES  | MUL | NULL    |                |
+-------------+---------+------+-----+---------+----------------+

बोनस पढ़ें :MySQL DROP UNIQUE CONSTRAINT

आइए ALTER TABLE स्टेटमेंट का उपयोग करके उसी उदाहरण पर एक नज़र डालें।

mysql> create table orders(id int auto_increment primary key,category_id int);

mysql> create table categories(id int auto_increment primary key,name varchar(255));

mysql> ALTER TABLE orders
     ADD CONSTRAINT fk_cat
     FOREIGN KEY (category_id)
     REFERENCES categories(id);

mysql> describe orders;
+-------------+---------+------+-----+---------+----------------+
| Field       | Type    | Null | Key | Default | Extra          |
+-------------+---------+------+-----+---------+----------------+
| id          | int(11) | NO   | PRI | NULL    | auto_increment |
| category_id | int(11) | YES  | MUL | NULL    |                |
+-------------+---------+------+-----+---------+----------------+

Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL रेडियंस () फ़ंक्शन - डिग्री से रेडियन में कनवर्ट करें

  2. विजुअल COBOL को MySQL से कनेक्ट करना

  3. भिन्न दिनांक स्वरूप के साथ एक CSV को MySQL में आयात करना

  4. MySQL में सर्वर कोलेशन कैसे दिखाएं

  5. MySQL 8.0 के लिए Percona सर्वर के साथ एक एन्क्रिप्टेड डेटाबेस का बैकअप कैसे लें