यदि आपकी टेबल InnoDB इंजन का उपयोग करती हैं तो आपको आमतौर पर यह त्रुटि मिलती है। उस स्थिति में आपको विदेशी कुंजी को छोड़ना होगा, और फिर तालिका को बदलना होगा और कॉलम को छोड़ना होगा।
लेकिन मुश्किल हिस्सा यह है कि आप कॉलम नाम का उपयोग करके विदेशी कुंजी को नहीं छोड़ सकते हैं, लेकिन इसके बजाय आपको इसे इंडेक्स करने के लिए इस्तेमाल किया गया नाम ढूंढना होगा। इसे खोजने के लिए, निम्नलिखित चयन जारी करें:
<ब्लॉकक्वॉट>तालिका क्षेत्र बनाएं दिखाएं;
यह आपको इंडेक्स का नाम दिखाएगा, कुछ इस तरह:
<ब्लॉकक्वॉट>
CONSTRAINT region_ibfk_1
FOREIGNKEY (country_id
) संदर्भcountry
(id
) अपडेट पर कोई कार्रवाई नहीं करने पर DELETE NOACTION
अब बस एक जारी करें:
<ब्लॉकक्वॉट>
तालिका क्षेत्र बदलें विदेशी कुंजी को छोड़ देंregion_ibfk_1
;
और अंत में एक:
<ब्लॉकक्वॉट>तालिका क्षेत्र ड्रॉप columncountry_id बदलें;
और आपका जाना अच्छा है!