2014-12-24 5 views
0

У меня возникла проблема, когда я пытаюсь DROP столбца, который является внешним ключом для другой таблицы. Колонка была создана по ошибке.Удалить внешний ключ из MySQL

First table 'users' with Columns 'ID (Primary key)','user_rest_id(Foreign key)' 
Second table 'rest' with Columns 'ID (Primary key)','user_id(Foreign key)' 

Я пытаюсь удалить столбец «user_rest_id». Я создал его по ошибке и связан с таблицей 'rest' 'ID'.

На падения колонки:

# 1553 - Невозможно удалить индекс 'user_rest_id': необходимо в ограничении внешнего ключа.

Когда я пытаюсь бросить внешний ключ он говорит:

# 1091 - Невозможно DROP 'user_rest_id'; проверьте, существует ли столбец/ключ

+0

Возможно, вам нужно будет определить имя ограничения, которое соответствует внешнему ключу на 'user_rest_id', и удалить ограничение FK с помощью этого имени, и только тогда вы можете удалить столбцы. Так как ваша схема схемы не документирует, в каких столбцах, на которые ссылаются таблицы FK, я не совсем уверен, какая у вас проблема. Возможно, у вас есть FK от пользователей для отдыха, а другой - от Rest to Users. –

+0

Точно, как вы сказали. Я создал его по ошибке. 'user_rest_id' должен быть просто столбцом, а не внешним ключом. – WilsonG

ответ

1

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

ALTER TABLE users 
DROP FOREIGN KEY fk_users; //Your actual constraint name 

Надеюсь, что это поможет.

+0

Спасибо за ответ. – WilsonG

+0

Добро пожаловать ....... :) –

Смежные вопросы