2014-09-02 3 views
5

मैं गलती से उत्पन्न कुछ विदेशी कुंजी को हटाने का एक तरीका खोजने का प्रयास कर रहा हूं, लेकिन हर बार जब मैं विदेशी कुंजी से जुड़ी तालिका को ड्रॉप करता हूं और इसे मिटाने के लिए कहता हूं, तो यह कहता है " सूचकांक ड्रॉप नहीं कर सकता: विदेशी कुंजी बाधा में आवश्यक "।phpmyadmin पर विदेशी कुंजी टेबल को हटा रहा है? इंडेक्स ड्रॉप नहीं कर सकता: विदेशी कुंजी बाधा में आवश्यक

+0

आपको इंडेक्स को छोड़ने के लिए एक टेबल ड्रॉप करने की आवश्यकता नहीं है। आप खुद ही एक इंडेक्स छोड़ सकते हैं। और एफवाईआई, "phpmyadmin" डेटाबेस नहीं है। यह mysql के लिए एक प्रबंधन इंटरफ़ेस है। –

+0

धन्यवाद, मैंने इंडेक्स पाया और उन लोगों को छोड़ने में सक्षम था जिनकी मुझे आवश्यकता नहीं थी। प्रत्यक्ष नहीं था, लेकिन मैंने प्रकाश देखा। धन्यवाद मार्क। – PiboRock

उत्तर

5

आप एक छद्म बयान के साथ विदेशी कुंजी को हटाना होगा:

ALTER TABLE yourtable DROP CONSTRAINT yourforeignkeyname 

साथ ही आप इसे छोड़ (MySQL कंसोल में काम करता है के लिए मजबूर करने में सक्षम हो सकता है, लेकिन phpmyadmin में काम नहीं कर सकते के रूप में मैं नहीं कर रहा हूँ यकीन है कि कैसे सत्र नियंत्रित किया जाता है)

SET FOREIGN_KEY_CHECKS=0; DROP TABLE yourtable; 

नोट: इस बहुत ही खतरनाक है और यदि आप गंभीरता से विदेशी कुंजी का उपयोग कर रहे हैं की सिफारिश नहीं की है।

+0

धन्यवाद जानना अच्छा !! – PiboRock

+1

धन्यवाद! +1, SET FOREIGN_KEY_CHECKS = 1 को रीसेट करना न भूलें; –

22

"संरचना" टैब में, फ़ील्ड के नीचे "संबंधपरक दृश्य देखें" पर क्लिक करें। यहां आप ड्रॉपडाउन में खाली मूल्य का चयन करके विदेशी कुंजी को हटा सकते हैं।

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