【发布时间】:2011-01-02 03:19:08
【问题描述】:
我们正在尝试重命名 MySQL(5.1.31,InnoDB)中作为另一个表的外键的列。
起初,我们尝试使用 Django-South,但遇到了一个已知问题:
http://south.aeracode.org/ticket/243
OperationalError: (1025, "将 './xxx/#sql-bf_4d' 重命名为 './xxx/cave_event' 时出错 (errno: 150)")
与
将“./xxx/#sql-bf_4b”重命名为“./xxx/cave_event”时出错(错误号: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 中进行重命名。看起来我们将不得不先删除外键,然后进行重命名,然后再次添加外键。听起来对吗?有没有更好的方法,因为这看起来很混乱和麻烦?
任何帮助将不胜感激!
【问题讨论】:
标签: sql mysql foreign-keys mysql-error-1025