Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > невозможность создания внешнего ключа


Автор: nmn 25.5.2010, 00:28
здравствуйте
использую ssce 2008

пытаюсь создать внешний ключ в таблице orders на таблицу order_owners и при этом возникает такая ошибка

Код

ЗАГОЛОВОК: Microsoft SQL Server Management Studio
------------------------------

Невозможно вставить внешний ключ, так как не существует соответствующий первичный ключ. [ Foreign key constraint name = order_owners ]

------------------------------
КНОПКИ:

ОК
------------------------------


причем рядом есть практически идентичная таблица order_types и на нее внешний ключ создается без проблем

почему???

Автор: Zloxa 25.5.2010, 08:59
Цитата(nmn @  25.5.2010,  00:28 Найти цитируемый пост)
почему??? 

там же написано smile 
Цитата(nmn @  25.5.2010,  00:28 Найти цитируемый пост)
так как не существует соответствующий первичный ключ.

т.е.  в данных существует некое значение, которое не является первичным ключем мастер - таблицы.

Автор: nmn 25.5.2010, 14:28
как это не существует?
в таблице order_owners есть поле id и оно является первичным ключом

Автор: Zloxa 25.5.2010, 14:33
речь идет не о структуре, а о данных
нельзя накинуть ограничение, если оно уже нарушено.
Код

select * from orders where owner not in (select id from order_owners)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)