У меня есть таблица, первичный ключ которой используется в нескольких других таблицах и имеет несколько внешних ключей для других таблиц.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) он дает мне ошибку.
"ERROR 1025 (HY000): Ошибка при переименовании"
Как я могу бросить столбец в таблице назначения выше, не получаю эту ошибку?
Это была моя проблема. Теперь я чувствую себя немой. Если у кого-то еще есть эта проблема, вы можете найти имена ограничений внешнего ключа, используя функцию SHOW CREATE TABLE. – Drew
он работал для mee – bynu022
Совет: используйте 'SHOW CREATE TABLE footable;', чтобы узнать, какое имя имеет ограничение. Это не имя столбца per se. Спасибо за ответ! –