में विदेशी-कुंजी कॉलम का नाम बदलना हम MySQL (5.1.31, InnoDB) में एक कॉलम का नाम बदलने का प्रयास कर रहे हैं जो कि किसी अन्य तालिका की एक विदेशी कुंजी है।MySQL
सबसे पहले, हम Django-दक्षिण का उपयोग करने की कोशिश की है, लेकिन यह एक ज्ञात समस्या के खिलाफ आया था:
http://south.aeracode.org/ticket/243
OperationalError: (1025, "Error on rename of './xxx/#sql-bf_4d' to './xxx/cave_event' (errno: 150)")
और
Error on rename of './xxx/#sql-bf_4b' to './xxx/cave_event' (errno: 150)
यह त्रुटि 150 निश्चित रूप से विदेशी से संबंधित है मुख्य बाधाएं उदाहरण देखें
What does mysql error 1025 (HY000): Error on rename of './foo' (errorno: 150) mean?
http://www.xaprb.com/blog/2006/08/22/mysqls-error-1025-explained/
तो, अब हम कच्चे एसक्यूएल में नाम करने के लिए कोशिश कर रहे हैं। ऐसा लगता है कि हमें पहले विदेशी कुंजी छोड़नी होगी, फिर नाम बदलें, और उसके बाद फिर से विदेशी कुंजी जोड़ें। क्या यह सही लगता है? क्या कोई बेहतर तरीका है, क्योंकि यह बहुत भ्रमित और बोझिल लगता है?
किसी भी मदद की बहुत सराहना की जाएगी!
संभव डुप्लिकेट http://stackoverflow.com/questions/6188011/how-do- i-rename-a-foreign-key-in-mysql) – Ben