2011-12-19 7 views
6

मेरा डेटाबेस वर्तमान में इनो डीबी इंजन का उपयोग कर रहा है। अब मैं फुलटेक्स्ट सर्च फीचर जोड़ना चाहता हूं, यही कारण है कि मैं अपनी टेबल को माईसाम में बदलना चाहता हूं। लेकिन ऐसा करने से सभी विदेशी कुंजी टूट जाती है। मैं अपने टेबल इंजन को सुरक्षित रूप से MyISAM में कैसे बदल सकता हूं?आईएनओडीबी से माईसाम में टेबल को कन्वर्ट करने का सबसे सुरक्षित तरीका क्या है?

मैं चयन का उपयोग कैसे कर सकता हूं ... मेरी टेबल को MyISAM इंजन में बदलने के बाद जुड़ें?

ALTER TABLE jobs ENGINE = MyISAM; 
Cannot delete or update a parent row: a foreign key constraint fails 

उत्तर

6

मैं, डाटाबेस की एक डंप करने के लिए आप की सलाह देते हैं MyISAM को InnoDB से उस फ़ाइल से सभी पाठ बदलने के लिए, तो संशोधित फ़ाइल

4

मुझे पता है के रूप में लोड करते हैं, MyISAM समर्थन नहीं करता है विदेशी कुंजी (InnoDB द्वारा MyISAM की विशेषताओं की पेशकश की गई सुविधाओं की तुलना करें)। MySQL आपको यह बताने की कोशिश करता है कि आपको अपने इंजन को MyISAM में बदलने से पहले अपनी jobs तालिका का संदर्भ देने वाली प्रत्येक विदेशी कुंजी बाधा को छोड़ना होगा।

+0

मेरे पास एक ही त्रुटि संदेश एक तालिका को परिवर्तित कर रहा था और जैसे ही मैंने सभी विदेशी कुंजी बाधाओं को हटा दिया, रूपांतरण पूरी तरह से काम करता था। तो यह बिल्कुल है जैसा कि कोहनी कहते हैं! (कृपया उनके बारे में सोचें कि आप उन्हें हटाने से पहले क्या कर रहे हैं ... मेरे मामले में, बाधाएं बेकार थीं, लेकिन कुछ मामलों में वे एक कारण के लिए हो सकते हैं (कुछ अनुप्रयोगों को बग किया गया है तो डीबी अखंडता की गारंटी के लिए?) ;-) – lucaferrario

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

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