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):重命名错误”

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

普格玛克斯

正如解释在这里,似乎外键约束必须由被丢弃的约束名称,而不是索引名。语法为:

alter table footable drop foreign key fooconstraint

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章