开发者社区> 问答> 正文

MySQL删除一些外键?mysql

我有一个表,该表的主键在其他几个表中使用,并且对其他表有几个外键。

CREATE TABLE location ( locationID INT NOT NULL AUTO_INCREMENT PRIMARY KEY ... ) ENGINE = InnoDB;

CREATE TABLE assignment ( assignmentID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, locationID INT NOT NULL, FOREIGN KEY locationIDX (locationID) REFERENCES location (locationID) ... ) ENGINE = InnoDB;

CREATE TABLE assignmentStuff ( ... assignmentID INT NOT NULL, FOREIGN KEY assignmentIDX (assignmentID) REFERENCES assignment (assignmentID) ) ENGINE = InnoDB; 问题是,当我尝试删除外键列之一(即locationIDX)时,它给了我一个错误。

“错误1025(HY000):重命名错误”

如何在没有出现此错误的情况下将列删除到上面的分配表中?

展开
收起
保持可爱mmm 2020-05-17 20:52:12 911 0
1 条回答
写回答
取消 提交回答
  • 正如解释在这里,似乎外键约束必须由被丢弃的约束名称,而不是索引名。语法为:

    alter table footable drop foreign key fooconstraint来源:stack overflow

    2020-05-17 20:57:04
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像