Попытка удалить столбцы, содержащие внешние ключи и полученное сообщение об ошибке - PullRequest
1 голос
/ 18 августа 2011

Я использую phpMyAdmin версии 3.3.10.3 для управления моей базой данных.

Я использую InnoDB и ограничения внешнего ключа.

Я попытался удалить несколько столбцов из таблицы. Эти столбцы являются внешними ключами, ссылающимися на другие таблицы.

ALTER TABLE `product`
  DROP `c_status_id`,
  DROP `o_certification_id`,
  DROP `g_free_certification_id`,
  DROP `gm_certification_id`,
  DROP `n_certification_id`;

При попытке запроса я получил следующее сообщение об ошибке.

#1025 - Error on rename of ' /#sql-ea2_38d9f' to ' /product' (errno: 150

1 Ответ

2 голосов
/ 18 августа 2011

Прежде чем отбрасывать столбец, на который есть ссылка в связи, необходимо сначала удалить отношение внешнего ключа.

ALTER TABLE 'TABLE_NAME' DROP FOREIGN KEY 'NAME_OF_FOREIGN_KEY'

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

...