Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/91: Рейтинг темы: голосов - 91, средняя оценка - 4.77
28 / 8 / 1
Регистрация: 26.05.2010
Сообщений: 230

Не удается создать внешний ключ

21.03.2011, 12:02. Показов 18669. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
SQL
1
2
3
ALTER TABLE Krossirovka
ADD FOREIGN KEY (ObjectFrom_ID)
REFERENCES Object (Object_ID)
не выполняется. Пишет "The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK__Krossirov__Objec__25FB978D". The conflict occurred in database "dbPhone", table "dbo.Object", column 'Object_ID'." Никаких FK__Krossirov__Objec__25FB978D у меня нет. Не пойму, что не так. Аналогичные запросы выполняются без проблем, если имена полей родительской и дочерней таблиц совпадают. В чем может быть проблема? Кто с этим сталкивался?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2011, 12:02
Ответы с готовыми решениями:

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

Пустой внешний ключ
Добрый вечер! Будьте добры, подскажите как кодом написать, чтобы внешний ключ мог быть пустой?? вроде как on update set null но у меня...

Внешний ключ через третью таблицу
Подскажите возможно ли такое сделать: Есть 3 таблицы 1 таблица HEAD: ID;Type 2 таблица POS: ID;Status; 3 таблица...

7
 Аватар для Devil_FoX
168 / 142 / 1
Регистрация: 01.04.2010
Сообщений: 474
21.03.2011, 12:27
честно сказать с REFERENCES не работал и не очень пойму зачем он.
Но у тебя Object_ID - зарезервированое имя MSSQL (или в квадратные скобки его возьми, или переименуй поле)
Object - тоже зарезервированное имя.
1
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
21.03.2011, 13:52
Chimera_, почему запросом делаешь, а не ManagementStudio?
0
28 / 8 / 1
Регистрация: 26.05.2010
Сообщений: 230
21.03.2011, 14:47  [ТС]
nio, мне админ как-то странно дал права и поправить не может. Запросом я могу с любыми таблицами все что угодно делать. А вот через ManagementStudio мне пишет все время "Вы вошли не как админ базы", "изменения не будут сохранены" и "только чтение". Поэтому я абсолютно все делаю запросами
0
58 / 58 / 1
Регистрация: 19.03.2011
Сообщений: 149
21.03.2011, 17:06
Посмотрите (можно вместе с dba) что пишут на msdn по этому поводу:
1, 2, 3

Добавлено через 4 минуты
4
1
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
24.03.2011, 14:37
Цитата Сообщение от Chimera_ Посмотреть сообщение
SQL
1
2
3
ALTER TABLE Krossirovka
ADD FOREIGN KEY (ObjectFrom_ID)
REFERENCES Object (Object_ID)
не выполняется. Пишет "The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK__Krossirov__Objec__25FB978D". The conflict occurred in database "dbPhone", table "dbo.Object", column 'Object_ID'." Никаких FK__Krossirov__Objec__25FB978D у меня нет. Не пойму, что не так. Аналогичные запросы выполняются без проблем, если имена полей родительской и дочерней таблиц совпадают. В чем может быть проблема? Кто с этим сталкивался?
В сообщении ясно сказано, что в Krossirovka есть такие ObjectFrom_ID, которых нет среди Object_ID таблицы Object.
Нарушение Refential Integrity (RI) так сказать... (Это как раз то самое, для чего придумали FOREIGN KEY )
Да! И лучше самому давать имена создаваемым серверным объектам:
SQL
1
2
3
4
ALTER TABLE Krossirovka
ADD CONSTRAINT fkKrossirovkaObject
FOREIGN KEY(ObjectFrom_ID)
REFERENCES Object(Object_ID);
Иначе это имя самостоятельно придумывает сервер (FK__Krossirov__Objec__25FB978D).
1
28 / 8 / 1
Регистрация: 26.05.2010
Сообщений: 230
24.03.2011, 17:57  [ТС]
iap, спасибо огромное!
0
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 69
07.12.2012, 05:21
iap, респект тебе !!! долго мучился с этой ошибкой...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2012, 05:21
Помогаю со студенческими работами здесь

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

Не удается вставить повторяющийся ключ в объект
Нарушено "PK_Автор" ограничения PRIMARY KEY. Не удается вставить повторяющийся ключ в объект "dbo.Автор". Повторяющееся значение...

Внешний ключ для таблицы содержащих 2 первичных ключа
Есть таблица у которой 2 первичных ключа. Вопрос: как будет выглядеть внешний ключ другой таблицы указывающий на первую?

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

Выбрать все ид(внешний ключ) которых нет во второй таблице
Есть две таблицы. Таб_1: т1_1... 1 2 // !!! 3 Таб_2: т2_1, т1_1,... 1 1


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Контроль корректности заполнения дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru