首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法删除索引列,错误1025 (HY000):重命名时出错..为了..。(错误号: 150)

无法删除索引列,错误1025 (HY000):重命名时出错..为了..。(错误号: 150)
EN

Stack Overflow用户
提问于 2010-10-12 22:00:05
回答 2查看 8.2K关注 0票数 2

删除已编制索引的列时遇到问题。我真的不明白发生了什么,因为删除索引通常都没有问题。当我尝试删除列或索引时,我得到以下错误

代码语言:javascript
复制
ERROR 1025 (HY000): Error on rename of './db-name/#sql-135e_9ee6d2' to './db-name/table-name' (errno: 150)

如果我在同一列上创建一个新的索引,我可以删除旧的索引,但不能删除新的索引(我猜它只是检查索引是否可用)。你们遇到过这个问题吗?如果有,有什么建议可以解决这个问题吗?

引擎: innoDB mysql版本:版本14.12 innoDB 5.0.45,适用于使用READLINE5.0的redhat-linux-gnu (x86_64)

谢谢你的帮助,如果你需要更多的信息,请让我知道。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-12 22:02:51

您在该索引上有一个外键关系,因此InnoDB会阻止删除该列以保持一致性。首先移除引用该列的所有外键。

之所以会发生这种情况,是因为ALTER table实际上是通过制作表的副本,然后重命名来移动旧表并将新表移动到其位置来实现的。这肯定是我在MySQL中看到的意义不大的错误消息之一。

http://www.xaprb.com/blog/2006/08/22/mysqls-error-1025-explained/

票数 2
EN

Stack Overflow用户

发布于 2011-03-14 19:28:41

这是一个外键引用错误...

您可以使用以下语句进行检查以查看该表

显示引擎INNODB状态

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3915499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档