无法删除外键(使用约束名称)检查列/键是否存在

时间:2019-01-25 19:34:41

标签: mysql foreign-keys

我已经尝试过自己寻找解决方案,但是没有任何运气。我正在使用MySQL 8.0.14版,而我的问题是:

当尝试放置外键时...

alter table Employee drop foreign key fk_Employee_Contact1;

失败...

Error Code: 1091. Can't DROP 'fk_Employee_Contact1'; check that column/key exists

我搜索约束...

SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME='Employee';

哪个弹出(部分表格)...

CONSTRAINT_NAME, TABLE_SCHEMA, TABLE_NAME, CONSTRAINT_TYPE
'fk_Employee_Contact1', 'RRAS Test Database', 'Employee', 'FOREIGN KEY'

但是如果我搜索...

SHOW CREATE TABLE Employee;

它显示为键...

KEY `fk_Employee_Contact1_idx` (`idContactDets`),

但不能作为约束。

我也尝试过...

alter table Employee drop foreign key fk_Employee_Contact1_idx;

哪个失败,并带有相同的错误代码。还有...

alter table Employee drop column idContactDets;

哪个给...

Error Code: 1828. Cannot drop column 'idContactDets': needed in a foreign key constraint 'fk_Employee_Contact1'

有什么办法可以解决这个问题?我对数据库非常陌生,因此请尽可能简单地进行解释。谢谢。 :)

0 个答案:

没有答案