powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка создания Constrainta
9 сообщений из 9, страница 1 из 1
Ошибка создания Constrainta
    #32063349
martin_ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При создании constraint'a происходит ошибка ... ODBC error: [Microsoft][ODBC SQL Server Driver][SQL Server]ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_event_tickets_event_events'. The conflict occurred in database 'umdn', table 'event_events', column 'ID'.
и только на одной таблице :( .. в чем могут быть грабли ?
...
Рейтинг: 0 / 0
Ошибка создания Constrainta
    #32063366
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что за констрейнт вы пытаетесь создать? Случаем, не Foregn key с операциями группового обновления/удаления? Групповые операции невозможно создать, если создание связи приводит к замыканию графа связей с групповыми операциями.
...
Рейтинг: 0 / 0
Ошибка создания Constrainta
    #32063695
martin_ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
именно FK. но тогда подскажите пожалуйста как опрелелить где происходит замыкание. Дело в том, что в идентичной таблице все проходит без каких либо затруднений ...
спасибо
...
Рейтинг: 0 / 0
Ошибка создания Constrainta
    #32063704
martin_ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще некоторые уточнения ... есть 2 таблицы, для которых нужны такие констрейнты. обе таблицы содержат поле "EID" являющееся FK для 3й таблицы. всего таблиц - три. создание FK для одной возможно всегда, для второй - без вариантов ... ошибка. наличие FK для первой таблицы никак не сказывается на возмоджности создания FK для второй.
...
Рейтинг: 0 / 0
Ошибка создания Constrainta
    #32063778
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Table1                   Table2
___________           ____________
ID1 (PK)  =====!       ID2 (PK) <====!
SomeField1     !====>  ID1 (FK)      !
               !       SomeField2    !
               !                     !
               !         Table3      !
               !      ____________   !
               !       ID3 (PK)      !
               !====>  ID1 (FK)      !
                       ID2 (FK) =====!
                       SomeField3

Ну что, не видушь замкнутого контура? Линиями такое квадратное колесо нарисовано...

Допустим, все связи с каскадным удалением. Допустим, ты удалил одну запись в Table1. По этой операции удалились каскадно (две связи ID1-ID1) записи из таблиц Table2 и Table3... НО! Удаление записей из таблицы Table3 вызывает ЕЩЕ ОДНО удаление записей из таблицы Table2 (по связи ID2-ID2). Каскадные операции в MS SQL устроены так, что они НЕ МОГУТ по одной операции каскадно выполнять несколько однотипных каскадных операций над одним и тем же объектом (в данном случае таблицей Table2).

У одной из этих связей необходимо снять флажки каскадных операций. А если эта самая многоуровневая каскадность до такой степени необходима, то реализвать ее в каком-то месте с помощью триггера.
...
Рейтинг: 0 / 0
Ошибка создания Constrainta
    #32063782
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще весьма вероятны проблемы из-за плохой нормализации структуры БД. Вполне может оказаться, что одна из этих связей просто не нужна, как и поля, на которых она построена (если значение этого поля получается запросом по трем таблицам с двумя, а не тремя join-ами).
...
Рейтинг: 0 / 0
Ошибка создания Constrainta
    #32063793
martin_ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это все конечно да .. но вот дело в том что связи Table2 с Table3 просто не существует ...
есть объект и у него могут быть свойства ... свойств этих у одного объекта может быть n ... поэтому для этих свойств выделяются таблицы (Table2 - свойство1, Table3- свойство2).. таблицы свойств между собой не связаны .. и принципиальных отличий не имеют. и этот факт и вызывает основное удивление. выход с триггером это конечно вариант, но весьма интересно в чем же ТУТ проблема то ?
...
Рейтинг: 0 / 0
Ошибка создания Constrainta
    #32063798
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит ты пытаешься создать еще одну связь между таблицами Table1 и Table2, либо между таблицами Table1 и Table3. Либо есть еще Table4 (5,6...N), через которые происходит замыкание графа. Либо типы полей разные - не может между ними связь образоваться. Никакой фантастики быть не может.
Погляди еще в depended objects. Если не сможешь сам разобраться, заскриптуй эти три таблицы (вместе со связанными объектами) и выкладывай сюда. Дополнительно сообщи, между чем и чем пытаешься создать связь.
...
Рейтинг: 0 / 0
Ошибка создания Constrainta
    #32064730
martin_ua
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да - фантастики нет ... грохнул таблицу .. создал снова .. и все заработало .. почему то ..
спасибо !
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ошибка создания Constrainta
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]