我有问题下降外键索引,我总是得到同样的错误MySQL错误时,下降指数(错误150)
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
我有问题下降外键索引,我总是得到同样的错误MySQL错误时,下降指数(错误150)
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
据this link,错误涉及主键字段的定义。该错误不是关于外键索引。
检查COMMENTS
表的主键以确保它没有UNSIGNED
关键字,而COMMENTS.id_user
外键具有UNSIGNED关键字。此关键字导致问题 - 字段类型不一致。
要解决的UNSIGNED
关键字添加到主键定义为COMMENTS
表。或从外键定义中删除UNSIGNED
关键字...
还有其他原因。例如,我有一个涉及两个独立外键列的唯一索引。在我放弃唯一索引之前,我不得不放弃有问题的外键。 (很显然,你可以添加外键回之后。)
谢谢,这是在我的情况的问题。 – nightcoder 2011-08-13 23:45:03
INNODB:这可能是因为删除索引之前删除的关系那样简单。
对我而言,这种关系锁定了一切。因此,删除关系,然后删除索引,然后创建新索引,然后恢复关系 – Vaseltior 2012-09-30 22:21:57
该指数是对“用户”表的外键,所以 在第一,试试这个命令:
SHOW CREATE TABLE my_table
找到对应的指数外键约束的名字,
,之后,用命令:
ALTER TABLE my_table DROP FOREIGN KEY FK_myconstraintcode
警告:如果您尝试删除与外键名称外键,你将有一个错误!
先尝试删除所有外键的表。 – 2009-09-20 13:47:11
其实我没有任何FK表 – 2009-09-20 13:58:00