मैं phpMyAdmin का उपयोग कर एक डेटाबेस स्थापित कर रहा हूं। मेरे पास दो मेज हैं ( foo
और bar
), उनकी प्राथमिक कुंजी पर अनुक्रमित । मैं foo_bar
विदेशी कुंजी के रूप में उनकी प्राथमिक कुंजी का उपयोग करते हुए, उनके बीच एक संबंधपरक तालिका ( ) बनाने की कोशिश कर रहा हूं ।
मैंने इन तालिकाओं को MyISAM के रूप में बनाया है, लेकिन मैंने इन तीनों को InnoDB में बदल दिया है, क्योंकि मैंने पढ़ा है कि MyISAM विदेशी कुंजी का समर्थन नहीं करता है। सभी id
क्षेत्र हैं INT(11)
।
जब मैं foo_bar
तालिका चुनता हूं , तो "संबंध देखें" लिंक पर क्लिक करें, और एफके कॉलम को सेट करने का प्रयास करें database.foo.id
और database.bar.id
, यह कहता है कि "कोई भी परिभाषित नहीं है!" प्रत्येक स्तंभ के पास।
मैं क्या खो रहा हूँ?
स्पष्टीकरण / अपडेट
सादगी के लिए, मैं phpMyAdmin का उपयोग करना चाहता हूं। मैं वर्तमान में XAMPP का उपयोग कर रहा हूं, जो मुझे PHP / CSS / Javascript पर ध्यान केंद्रित करने के लिए काफी आसान है, और यह phpMyAdmin के साथ आता है।
इसके अलावा, हालांकि मैं अभी तक स्पष्ट विदेशी कुंजी स्थापित नहीं कर पाया हूं, लेकिन मेरे पास एक संबंधपरक तालिका है और इस तरह से जुड़ सकते हैं:
SELECT *
FROM foo
INNER JOIN foo_bar
ON foo.id = foo_bar.foo_id
INNER JOIN bar
ON foo_bar.bar_id = bar.id;
यह सिर्फ मुझे असहज बनाता है कि डेटाबेस में एफके को स्पष्ट रूप से परिभाषित नहीं किया गया है।