"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > MySQL त्रुटि 150 और 1005: मैं विदेशी कुंजी संबंध क्यों नहीं बना सकता?

MySQL त्रुटि 150 और 1005: मैं विदेशी कुंजी संबंध क्यों नहीं बना सकता?

2024-12-21 को प्रकाशित
ब्राउज़ करें:691

MySQL Error 150 & 1005: Why Can\'t I Create Foreign Key Relationships?

MySql विदेशी कुंजी त्रुटि 150: एक पेचीदा पहेली

जब विदेशी कुंजी संबंधों के साथ "फू" और "बार" टेबल बनाने का प्रयास किया जाता है , आपको त्रुटि 150 के संदर्भ में त्रुटि 1005 (HY000) का सामना करना पड़ता है। यह त्रुटि निराशाजनक हो सकती है, जिससे आप भ्रमित हो सकते हैं मूल कारण तक।

विदेशी कुंजी बाधाओं पर MySQL दस्तावेज़ के अनुसार, समस्या तब उत्पन्न होती है जब एक गिराई गई तालिका को फिर से बनाया जाता है जिसमें विदेशी कुंजी संदर्भ होते हैं। तालिका को स्तंभ नाम और प्रकारों के साथ-साथ संदर्भित कुंजियों पर अनुक्रमित करके विदेशी कुंजी बाधाओं के अनुरूप होना चाहिए। यदि ये शर्तें पूरी नहीं होती हैं, तो MySQL अंतर्निहित त्रुटि 150 के साथ त्रुटि 1005 लौटाता है।

यह संभव है कि आपकी त्रुटि इस तथ्य के कारण है कि "foo" तालिका को InnoDB तालिका के रूप में परिभाषित नहीं किया गया है। MySQL दस्तावेज़ स्पष्ट रूप से बताता है कि दोनों तालिकाएँ InnoDB तालिकाएँ और गैर-अस्थायी होनी चाहिए।

InnoDB इंजन को निर्दिष्ट करने के लिए "foo" तालिका निर्माण क्वेरी को संशोधित करके:

mysql> CREATE TABLE foo(id INT PRIMARY KEY) ENGINE=InnoDB;

आपको विदेशी कुंजी के साथ सफलतापूर्वक "बार" तालिका बनाने में सक्षम होना चाहिए बाधा, त्रुटि 150 का समाधान।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3