2014-09-02 3 views
8

मेरे पास एक डेटाबेस है जिसे मैंने थोड़ी देर पहले बनाया था। डेटाबेस में प्रत्येक तालिका InnoDb है। कई तालिकाओं में विदेशी कुंजी बाधाएं थीं, और मैंने उन्हें On Delete = Cascade के लिए सेट किया। जब मैं phpmyadmin के पहले संस्करण का उपयोग कर रहा था, तो इनके साथ काम करना आसान था: मैं बस एक टेबल के संरचना टैब पर जाऊंगा, रिलेशनशिप व्यू लिंक पर क्लिक करूंगा, और जब तक मेरे पास सही कॉलम पर सही इंडेक्स सेट हो जाएं , जैसा कि मैंने फिट देखा, मैं विदेशी चाबियाँ सेट कर सकता था।Phpmyadmin संस्करण 4: रिलेशनशिप व्यू कभी-कभी विदेशी कुंजी बाधाओं को नहीं दिखाता

संस्करण 4 में अपग्रेड करने के बाद से, यह एक दुःस्वप्न बन गया है। कुछ तालिकाओं के लिए, मैं संबंध दृश्य में जाता हूं और सब कुछ ठीक है। लेकिन दूसरों के लिए - यहां तक ​​कि जब उनके पास पहले से ही विदेशी कुंजी बाधाएं हैं - मैं उनके साथ काम करने के लिए कोई विकल्प नहीं देख सकता हूं।

मामलों को और भी खराब बनाने के लिए, मैंने इंडेक्स को छोड़ने और उन्हें फिर से जोड़ने की कोशिश की है, केवल निम्नलिखित त्रुटि दी गई है: Cannot drop index [index_name]: needed in a foreign key constraint. इसलिए जब तक कि मैं गलत नहीं हूं, बाधा वहां है, लेकिन phpmyadmin दिखाने से इंकार कर रहा है यह मेरे लिए।

क्या मुझे कुछ दिखाने के लिए मुझे कुछ करना है? यह कम से कम कहने में बेहद निराशाजनक है: कुछ ऐसा जो अभी ठीक काम करता है, अपग्रेड के लिए धन्यवाद नहीं करता है।

+0

मैंने info_schema तालिका में तालिका KEY_COLUMN_USAGE की जांच की है। यह पुष्टि करता है कि एक विदेशी कुंजी बाधा है। मैं इसे बदलना चाहता हूं, लेकिन फिर, phpmyadmin मुझे बाधाओं को नहीं दिखाएगा। यह वास्तव में मुझे पुराने संस्करण में डाउनग्रेड करना चाहता है ... – blainarmstrong

उत्तर

15

ठीक है, टेबल के साथ खेलने के बाद थोड़ा, मुझे पता चला कि क्या हो रहा है। केवल एक बार जब विदेशी कुंजी बाधा विकल्प दिखाई नहीं देते हैं तब तालिका नामों में पूंजी अक्षरों होते हैं। कम से कम कहने के लिए बहुत निराशाजनक।

+0

यह पिछले कुछ हफ्तों से मेरे लिए अत्यधिक निराशा का स्रोत रहा है। मेरी इच्छा है कि Google ने मुझे phpmyadmin में मुद्दों को सक्षम करने में अन्य मानक मुद्दों के बजाय, बहुत पहले मुझे नेतृत्व किया था। – user2979044

+0

हाँ, मैं वापस जाकर घायल हो गया और सभी ऊंट केज्ड टेबल को अंडरस्कोर नामों में बदल रहा था। – blainarmstrong

+2

कोई रास्ता नहीं! यह इतनी निराशाजनक है कि हम इस बार इतनी छोटी जानकारी की तलाश में हार जाते हैं। सबसे खराब बात यह है कि phpmyadmin इसके बारे में कुछ नहीं कहता है! – unmultimedio

1

मैं सिर्फ phpmyadmin लिए एक बग रिपोर्ट दायर: https://github.com/phpmyadmin/phpmyadmin/issues/11461

यह एक आसान ठीक होना चाहिए।

+0

इसके लिए धन्यवाद। मुझे लगता है कि यह हल होने के बाद बहुत से लोग बहुत खुश होंगे। – blainarmstrong

संबंधित मुद्दे