我们正在尝试重命名 MySQL(5.1.31,InnoDB)中作为另一个表的外键的列。
起初,我们尝试使用 Django-South,但遇到了一个已知问题:
http://south.aeracode.org/ticket/243 http://south.aeracode.org/ticket/243
操作错误:(1025,“将'./xxx/#sql-bf_4d'重命名为'./xxx/cave_event'时出错(errno:150)”)
AND
将“./xxx/#sql-bf_4b”重命名为“./xxx/cave_event”时出错(errno:150)
这个错误 150 肯定与外键约束有关。参见例如
mysql错误1025(HY000):重命名“./foo”时出错(错误号:150)是什么意思? https://stackoverflow.com/questions/160233/what-does-mysql-error-1025-hy000-error-on-rename-of-foo-errorno-150-mea
http://www.xaprb.com/blog/2006/08/22/mysqls-error-1025-explained/ http://www.xaprb.com/blog/2006/08/22/mysqls-error-1025-explained/
因此,现在我们尝试在原始 SQL 中进行重命名。看来我们必须先删除外键,然后重命名,然后再次添加外键。听起来对吗?有没有更好的方法,因为这看起来相当混乱和麻烦?
任何帮助将非常感激!
AFAIK,删除约束,然后重命名,然后添加回约束是唯一的方法。先备份!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)