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

किसी अन्य तालिका में एकाधिक पंक्तियों की चर्चा करते हुए विदेशी कुंजी

इसका सामान्य समाधान एक प्रतिच्छेदन तालिका बनाना होगा:

CREATE TABLE vehicles_owned
(
  o_id INT,
  v_id INT,
  PRIMARY KEY (o_id, v_id),
  FOREIGN KEY (o_id)
    REFERENCES owners (o_id),
  FOREIGN KEY (v_id)
    REFERENCES vehicles (v_id)
);

फिर आप v_id . छोड़ दें owners . से ।

यह तालिका प्रत्येक owner . को अनुमति देती है अनेक vehicles के स्वामी होने के लिए , और प्रत्येक vehicle एकाधिक owner होने के लिए . यदि आप एक-मालिक-प्रति-वाहन प्रतिबंध लागू करना चाहते हैं, तो एक UNIQUE जोड़ें vehicles_owned.v_id . के लिए अनुक्रमणिका ।

संपादित करें:बेशक, यदि आप एक-मालिक-प्रति-वाहन बाधा को लागू करना चाहते हैं, तो आप बस o_id भी जोड़ सकते हैं vehicles . के लिए एक विदेशी कुंजी के रूप में, और प्रतिच्छेदन तालिका से परेशान न हों।




  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. स्प्रिंग बूट MySQL से कनेक्ट नहीं हो सकता है और डॉकर/डॉकर कंपोज़ में बाहर निकलता है

  3. संबंध से सबसे सामान्य मान का चयन करना - SQL कथन

  4. हाइबरनेट के साथ डीबी को एनम वैल्यू कैसे सेव करें?

  5. Microsoft Access का उपयोग MySQL डेटाबेस के फ़्रंट-एंड के रूप में करना?