一尘不染

mysql错误1025(HY000):“ ./ foo”重命名错误(错误编号:150)是什么意思?

mysql

我在mysql中尝试过这个:

mysql> alter table region drop column country_id;

并得到了:

ERROR 1025 (HY000): Error on rename of './product/#sql-14ae_81' to
'./product/region' (errno: 150)

有任何想法吗?外键东西?


阅读 452

收藏
2020-05-17

共1个答案

一尘不染

如果您的表使用InnoDB引擎,通常会出现此错误。在这种情况下,您将必须删除外键,然后执行alter table并删除列。

但是棘手的部分是您不能使用列名删除外键,而必须找到用于为其索引的名称。为此,请发出以下选择:

SHOW CREATE TABLE区域;

这应该显示索引的名称,如下所示:

约束外region_ibfk_1键(country_id)参考 countryid)关于删除无作用更新无作用

现在只需发出:

修改表区域丢弃外键 region_ibfk_1;

最后是:

更改表区域放置列country_id;

而且你很好走!

2020-05-17