我有问题下降外键索引,我总是得到同样的错误
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
根据此链接 ,误差涉及主键字段的定义。 该错误是不是外键索引。
检查该主键COMMENTS
表,以确保它不具有UNSIGNED
关键字而COMMENTS.id_user
外键有未签名的关键字。 此关键字是造成问题 - 不一致类型的字段。
要解决,在添加UNSIGNED
关键字的主键定义COMMENTS
表。 或删除UNSIGNED
从外键定义关键字...
还有其他的原因了。 比如我有涉及到两个独立的外键列的唯一索引。 我不得不放弃有问题的外键之前,我可以放下唯一索引。 (很显然,你可以添加外键回之后。)
INNODB:这可能是因为删除索引之前删除的关系那样简单。
该指数是对“用户”表的外键,所以在第一个,请尝试以下命令:
SHOW CREATE TABLE my_table
找到对应的指数外键约束的名字,
而在此之后,试试下面的命令:
ALTER TABLE my_table DROP FOREIGN KEY FK_myconstraintcode
警告:如果您尝试删除与外键名称外键,你将有一个错误!