Невозможно удалить внешний ключ (используя имя ограничения), проверить столбец / ключ существует - PullRequest
0 голосов
/ 25 января 2019

Я пытался найти решение сам, но мне не повезло. Я использую 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'

Есть ли способ это исправить? Я очень плохо знаком с базами данных, поэтому, пожалуйста, объясните, если возможно, простыми словами Спасибо. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...