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

MySQL में FOREIGN KEY क्या है और टेबल में इसका उपयोग कैसे करें

FOREIGN KEY एक कॉलम या कॉलम समूह है जो दो टेबल के डेटा के बीच लिंक बनाता है। यह दो टेबल को संबंधित करता है और डेटा इंटीग्रिटी बढ़ाता है क्योंकि एक टेबल की PRIMARY KEY दूसरी टेबल की FOREIGN KEY से जुड़ी होती है।

सिंटैक्स

FOREIGN KEY [column_name] REFERENCES [parent_table] ([parent_column]);
  • REFERENCES - कीवर्ड
  • column_name - चाइल्ड टेबल में FK कॉलम
  • parent_table - पैरेंट टेबल नाम (जिसमें PK है)
  • parent_column - पैरेंट टेबल में PK कॉलम

उदाहरण: Customer और Orders टेबल बनाना

mysql> CREATE TABLE Customer(
    Cust_ID INT PRIMARY KEY,
    First_name VARCHAR(20),
    Last_name VARCHAR(20),
    City VARCHAR(10)
);
Query OK, 0 rows affected (0.13 sec)

mysql> CREATE TABLE Orders(
    Order_Id INT PRIMARY KEY,
    Product_Name VARCHAR(25),
    Orderdate DATE,
    Cust_ID INT,
    FOREIGN KEY(Cust_ID) REFERENCES Customer(Cust_id)
);
Query OK, 0 rows affected (0.13 sec)

mysql> DESCRIBE Orders;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| Order_Id     | int(11)     | NO   | PRI | NULL    |       |
| Product_Name | varchar(25) | YES  |     | NULL    |       |
| Orderdate    | date        | YES  |     | NULL    |       |
| Cust_ID      | int(11)     | YES  | MUL | NULL    |       |  -- MUL = FK
+--------------+-------------+------+-----+---------+-------+

टर्मिनोलॉजी

शब्दअर्थउदाहरण
Parent Table / Referenced Tableजिसे रेफरेंस किया जाता हैCustomer
Child Table / Referencing Tableजिसमें FK होती हैOrders
Referential Integrityचाइल्ड का मान पैरेंट में मौजूद होना चाहिएOrders.Cust_ID ∈ Customer.Cust_ID

नियम

  • चाइल्ड पंक्ति का FK मान पैरेंट में मौजूद होना चाहिए
  • <ली>पैरेंट पंक्ति डिलीट नहीं कर सकते अगर चाइल्ड रेफरेंस करती है (बिना CASCADE)
  • दोनों टेबल InnoDB होनी चाहिए
  • FK कॉलम पर ऑटोमैटिक इंडेक्स बनता है (MUL)

नामित कंस्ट्रेंट

CREATE TABLE Orders(
    ...
    CONSTRAINT fk_orders_customer 
    FOREIGN KEY(Cust_ID) REFERENCES Customer(Cust_id)
);
  1. लोकलहोस्ट क्या है और आप इसका उपयोग कैसे कर सकते हैं? लोकलहोस्ट क्या है और आप इसका उपयोग कैसे कर सकते हैं?

    लोकलहोस्ट - जिसे लूपबैक एड्रेस के रूप में भी जाना जाता है - का उपयोग आपके अपने कंप्यूटर या मशीन पर IP कनेक्शन या कॉल स्थापित करने के लिए किया जाता है। लूपबैक एड्रेस का उपयोग आमतौर पर नेटवर्किंग के संदर्भ में किया जाता है और एक कंप्यूटर को IP स्टैक को मान्य करने की क्षमता प्रदान करता है। नेटवर्किंग म

  1. Bash वेरिएबल्स क्या हैं और आप उनका उपयोग कैसे कर सकते हैं? Bash वेरिएबल्स क्या हैं और आप उनका उपयोग कैसे कर सकते हैं?

    Bash आपको टेक्स्ट के पूरे स्ट्रिंग्स को सिंगल वेरिएबल्स में मैप करने की अनुमति देता है, जिससे इसका उपयोग और स्क्रिप्ट लेखन सरल हो जाता है। वे कैसे काम करते हैं, और आप उनका उपयोग कैसे कर सकते हैं? आइए पता लगाते हैं। वेरिएबल क्या है? वेरिएबल्स याद रखने में आसान नाम हैं जिनमें अलग-अलग अल्फ़ान्यूमेरिक म

  1. Windows 11 में सुझाए गए एक्शन का उपयोग करना: एक त्वरित गाइड Windows 11 में सुझाए गए एक्शन का उपयोग करना: एक त्वरित गाइड

    याद रखें कि Google और अन्य लोकप्रिय सर्च इंजन कैसे आपके Windows पर सर्च सुझाव टाइप करते ही स्वचालित सुझाव देते हैं? Microsoft ने अब Windows 11 यूज़र्स के लिए एक समान फीचर पेश किया है। यह फीचर सुझाए गए एक्शन है और यह Windows पर आपके कार्यों को सरल बनाने का Microsoft का नवीनतम प्रयास है। इस लेख में, ह