我們試圖將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/
所以,現在我們正在試圖做的原始SQL重命名。看起來我們將不得不首先刪除外鍵,然後重命名,然後再次添加外鍵。這聽起來是對的嗎?有沒有更好的方法,因爲這看起來很混亂和麻煩?
任何幫助將不勝感激!
可能重複http://stackoverflow.com/questions/6188011/how-do- i-rename -a-foreign-key-in-mysql) – Ben 2015-01-09 14:05:27