微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/mysql/433976.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐