Кто-то может объяснить мне, почему я получаю следующую ошибку?
Я хочу переименовать столбец "exerciseID" к "идентификатору" в mysql таблице с помощью следующего синтаксиса.
ALTER TABLE `exercises` CHANGE `exerciseID` `ID` INT( 11 ) NOT NULL AUTO_INCREMENT
Однако я получаю следующую ошибку:
MySQL said:
#1025 - Error on rename of './balance/#sql-de_110e' to './balance/exercises' (errno: 150)
Любые предложения очень ценились бы
Я бы проверил, есть ли у вас ссылки на внешний ключ для этого столбца. Если это так, вам может потребоваться удалить внешние связи, которые вы определили для этого столбца, затем переименовать, а затем вернуть отношения внешнего ключа на место с новым именем столбца.
Я думаю, MySQL зацикливается на том факте, что при переименовании отношения FK становятся недействительными, и возникает ошибка.
РЕДАКТИРОВАТЬ: Подтверждено FK Rename в MySQL
Вам нужно будет сделать что-то вроде этого:
alter table yourTable drop foreign key yourID
Думаю, это может быть многоэтапный процесс.
, просто выполнив быстрый поиск в Google, и он выглядит как будто вы ссылаетесь на столбец во внешнем ключе, что предотвращает переименование.
боюсь, я не уверен, как бы вы разрешили проблему, так как я не так часто использовал внешние ключи в MySQL