phpMyAdmin
 sql >> डेटाबेस >  >> Database Tools >> phpMyAdmin

एक विदेशी कुंजी कैसे सेट करें जो अन्य दो तालिकाओं के संबंध पर निर्भर है?

मैं phpmyadmin का उपयोग नहीं करता, लेकिन मैं इसके साथ शुरू करूंगा

  • विषयों के नाम पर एक अद्वितीय बाधा,
  • जोड़ी पर एक अद्वितीय बाधा {teachers.name, Teachers.subject_id},
  • एक अद्वितीय बाधा {events.venue,events.subject_id,events.teacher_id},
  • जोड़ी पर एक अद्वितीय बाधा {teachers.id, Teachers.subject_id}.

पहले तीन को पहचान के साथ करना है; आखिरी वाला आपको एक विदेशी कुंजी बाधा के साथ {teachers.id, Teachers.subject_id} को लक्षित करने देता है।

सामान्य स्थिति में, लोगों के नाम अद्वितीय नहीं होते हैं। तो आप कर सकते थे एक ही नाम के दो शिक्षक हैं जो एक ही विषय पढ़ाते हैं। आप उस तरह की समस्या से कैसे संपर्क कर सकते हैं यह एप्लिकेशन पर निर्भर है।

फिर विदेशी कुंजियाँ

  • शिक्षकों.subject_id से विषयों.id तक, और
  • {events.teacher_id,events.subject_id} से {teachers.id, Teachers.subject_id}

यह कम से कम आपको एक त्रुटि देगा यदि आप घटनाओं में गलत विषय वाले शिक्षक को सम्मिलित करने का प्रयास करते हैं।

आपको INNODB इंजन का उपयोग करना होगा विदेशी कुंजी बाधाओं को लागू करने के लिए। अन्य इंजन उन्हें पार्स कर देंगे, लेकिन उन्हें अनदेखा कर देंगे।

<ब्लॉकक्वॉट>

विदेशी कुंजी और संदर्भ खंड InnoDBstorage इंजन द्वारा समर्थित हैं, जो लागू करता है [CONSTRAINT [प्रतीक]] विदेशी कुंजी [index_name] (...) संदर्भ ... (...) जोड़ें। खंड 14.6.6, “InnoDBand विदेशी कुंजी प्रतिबंध” देखें। अन्य स्टोरेज इंजनों के लिए, क्लॉज को पार्स किया जाता है लेकिन अनदेखा किया जाता है।




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. मैं अपने MySQL डेटाबेस को phpmyadmin से उसकेोकू के cleardb में कैसे दबा सकता हूं?

  2. phpmyadmin.pma_table_uiprefs मौजूद नहीं है

  3. मैं mysql खोज परिणाम कैसे वापस कर सकता हूं जहां केवल गैर-शून्य प्रविष्टियों वाले कॉलम प्रदर्शित होते हैं

  4. डेबियन 9 . पर अपाचे के साथ phpMyAdmin को स्थापित और सुरक्षित करना

  5. Windows 7 में कमांड लाइन द्वारा SQL फ़ाइल आयात करें