MySQL删除一些外键 [英] MySQL Removing Some Foreign keys
本文介绍了MySQL删除一些外键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个表的主键在几个其他表中使用,并有几个外键对其他表。
I have a table whose primary key is used in several other tables and has several foreign keys to other tables.
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;
<它给我一个错误1025(HY000):错误重命名错误。
The problem is that when I'm trying to drop one of the foreign key columns (ie locationIDX) it gives me an "ERROR 1025 (HY000): Error on rename" error.
如何删除上面的分配表中的列,而不会收到此错误?
How can I drop the column in the assignment table above without getting this error?
推荐答案
如这里所述,似乎外键约束有要通过约束名称删除,而不是索引名称。语法是:
As explained here, seems the foreign key constraint has to be dropped by constraint name and not the index name. The syntax is:
alter table footable drop foreign key fooconstraint
希望这有帮助。
这篇关于MySQL删除一些外键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文