Ответ 1
Вы получаете эту ошибку:
Msg 3728, Level 16, State 1, Line 1
'fk_gr_res_resources' is not a constraint.
Msg 3727, Level 16, State 0, Line 1
Could not drop constraint. See previous errors.
Поскольку ограничение FK не существует!
Вы уверены, что Information
- это правильное имя схемы, а не dbo
?
1. Этот SQL докажет, что FK не существует:
SELECT * FROM sysobjects WHERE name = 'fk_gr_res_resources'
2. К сожалению, я ошибся в своем первоначальном ответе, вот правильный синтаксис для SQL Server:
ALTER TABLE <table_name>
DROP CONSTRAINT <foreignkey_name>
3. Пример для вашей базы данных:
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'fk_gr_res_resources')
BEGIN
ALTER TABLE Group_Resources
DROP CONSTRAINT fk_gr_res_resources
END;
4. Попробуйте запустить это:
IF NOT EXISTS (SELECT * FROM sysobjects WHERE name = 'fk_gr_res_resources')
BEGIN
ALTER TABLE Group_Resources
ADD CONSTRAINT fk_gr_res_resources
FOREIGN KEY (resource_id)
REFERENCES Resources(id) /* make sure Resources.id is a PRIMARY KEY */
END;
5. Затем попробуйте это и посмотрите, все ли вы получите эту ошибку:
ALTER TABLE Group_Resources
DROP CONSTRAINT fk_gr_res_resources
Другой синтаксис был для MySQL, извините:
ALTER TABLE <table_name>
DROP FOREIGN KEY <foreignkey_name>
Спасибо за исправление меня OMG Ponies!