我们正在尝试重命名MySQL(5.1.31,InnoDB)中的一个列,该列是另一个表的外键.
起初,我们尝试使用Django-South,但遇到了一个已知问题:
http://south.aeracode.org/ticket/243
OperationalError:(1025,"将./xxx/#sql-bf_4d'重命名为'./xxx/cave_event'(错误号:150)时出错")
和
将'./xxx/#sql-bf_4b'重命名为'./xxx/cave_event'时出错(错误号:150)
此错误150肯定与外键约束有关.见例如
什么是mysql错误1025(HY000):重命名'./foo'时出错(errorno:150)是什么意思?
http://www.xaprb.com/blog/2006/08/22/mysqls-error-1025-explained/
所以,现在我们正在尝试在原始SQL中重命名.看起来我们必须首先删除外键,然后重命名,然后再次添加外键.听起来不错吗?有没有更好的方法,因为这看起来很混乱和麻烦?
任何帮助将非常感激!