MySQL drop field;外键错误150

前端之家收集整理的这篇文章主要介绍了MySQL drop field;外键错误150前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用InnoDB并删除未使用的外键的MySQL问题.外键引用另一个表的id.但是,我不需要这个领域.

我已经尝试删除fk索引,这不起作用 – 说它是在外键约束中需要的.并删除该字段,这给了我一个错误

1025 – 将’./axis/#sql-ad8_1531’重命名为’./axis/Schedule’时出错(错误号:150)

该表目前是空的.没有引用此字段的表.关于如何摆脱这个的任何想法?除了创建一个新表?

如果我正确读取下面的错误,我不能删除列,因为声明了fk索引.我不能删除索引,因为列存在.鸡肉和鸡肉蛋??

最新的外国关键错误
111004 17:05:40表轴/ Schedule的外键约束出错:
表中没有包含索引的索引
列作为第一列,或者是数据类型
table与引用表中的表不匹配
或其中一个ON … SET NULL列被声明为NOT NULL.约束:
,
  约束“fk_Schedule_Grp”FOREIGN KEY(“idGrp”)REFERENCES“Grp”(“idGrp”)ON更新没有动作更新没有动作
InnoDB:重命名表轴.到axis.Schedule失败了!

最佳答案
你需要使用

ALTER TABLE table_name DROP FOREIGN KEY constraint_name

这里constraint_name是约束的名称而不是索引.如果您不知道这是什么,可以通过发出SHOW CREATE TABLE来查找.它是在CONSTRAINT一词之后出现的标识符.

编辑:从您添加到问题,看起来您需要发布

ALTER TABLE table_name DROP FOREIGN KEY fk_Schedule_Grp

猜你在找的MySQL相关文章