ALTER TABLE Price DROP FOREIGN KEY Id ERROR 1025 (HY000): Error on rename of '.\tes-6ren">
gpt4 book ai didi

MySQL alter table 生成 "error on rename"

转载 作者:可可西里 更新时间:2023-11-01 08:54:03 25 4
gpt4 key购买 nike

这是我的错误打印:

mysql> ALTER TABLE Price DROP FOREIGN KEY Id
ERROR 1025 (HY000): Error on rename of '.\testdb\Price' to '.\t
estdb\#sql2-bcc-16' (errno: 152)

我读过 this page 这表明问题可能是由于一些早期的 alter table 错误遗留下来的表,并建议您在数据目录中四处窥探并删除名称为“B-xxx.frm”的任何表。

我的错误与此类似,但我的数据目录中没有'#sql2-bcc-16'。无论如何,不​​会有之前失败的更改表的任何工件,因为这只是一个小型测试数据库,我之前实际上没有更改任何表。

编辑:下面有更多信息。

我真正想做的是将另一个表中的 Id(主键)更改为 SMALLINT(而不是 TINYINT)。但是,THIS Phone 表的 Id 是一个外键,引用了另一个表中的 Id。因此,我相信在继续对主表进行类型更改之前,我需要删除该表的外键。我希望这是清楚的。

编辑 2:表格。

销售 - Id TINYINT NOT NULL,PRIMARY KEY (Id)

电话 - 具有 TINYINT NOT NULL、FOREIGN KEY (Id) REFERENCES Sale (Id)

我希望我数据库中的所有 ID 都是 SMALLINT 而不是 TINYINT。这就是我的现状。

最佳答案

尝试使用 mysql> ALTER TABLE Price DROP Id

希望它有用……祝你好运

我试过用你查询 mysql> ALTER TABLE Price DROP FOREIGN KEY Id

它执行了,但没有成功!!!

更新:

使用下面的查询...

mysql> ALTER TABLE Price MODIFY Id SMALLINT

mysql> ALTER TABLE Sale MODIFY Id SMALLINT

mysql> ALTER TABLE 电话修改 Id SMALLINT

关于MySQL alter table 生成 "error on rename",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8905856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com