我在删除外键索引时遇到了问题,总是收到相同的错误提示。
ALTER TABLE `comments` DROP INDEX `id_user`
输出结果
1025 - Error on rename of './postuj_cz1/#sql-d834_a0c704'
to './postuj_cz1/comments' (errno: 150)
另一张表上的
id_user
是简单的主键索引。 我正在使用MySQL 5.0.85版本。我在删除外键索引时遇到了问题,总是收到相同的错误提示。
ALTER TABLE `comments` DROP INDEX `id_user`
1025 - Error on rename of './postuj_cz1/#sql-d834_a0c704'
to './postuj_cz1/comments' (errno: 150)
id_user
是简单的主键索引。 我正在使用MySQL 5.0.85版本。还有其他原因。例如,我有一个涉及两个独立外键列的唯一索引。在删除唯一索引之前,我必须删除相关的外键。(显然,您可以在之后重新添加外键。)
INNODB:这可能只是在删除索引之前删除关系的简单操作。
该索引是'user'表上的外键索引,因此首先尝试运行以下命令:
SHOW CREATE TABLE my_table
找到与外键索引对应的约束名,然后尝试使用以下命令:
ALTER TABLE my_table DROP FOREIGN KEY FK_myconstraintcode
警告:如果您尝试使用外键名称删除外键,您将会遇到错误!
COMMENTS
表的主键是否没有UNSIGNED
关键字,而COMMENTS.id_user
外键却有。这个关键字导致了问题——字段类型不一致。COMMENTS
表的主键定义中添加UNSIGNED
关键字,或从外键定义中删除UNSIGNED
关键字...