У меня есть БД SQL в MS SQL Server 2008 R2Работа с ограничениями FK - Слив и заправка SQL Server 2008 дб
Для целей развития, я пытаюсь очистить все данные - затем добавить в моих фиктивных данных.
После некоторой борьбы с FK Ограничениями, и используя
ALTER TABLE ? NOCHECK CONSTRAINT ALL
DELETE FROM ?
ALTER TABLE ? CHECK CONSTRAINT ALL
мне удалось очистить данные.
Теперь я хочу добавить некоторые фиктивные данные.
Допустим, у нас есть 3 стола, Country
, Address
и Country_Address
(связующий адрес в стране).
Я добавила данные Country
и Address
Но когда я пытаюсь добавить к Country_Address
:
строка не была обновлена.
Данные в строке 1 не были выполнены. Источник ошибки: .Net SqlClient Data Provider. Сообщение Error: INSERT заявление противоречит ограничению внешнего ключа
Я не совсем уверен, почему это происходит, потому что все, что я делаю, связывающим вновь добавляемую страну и адрес - которые оба существуют - так почему это противоречит ограничениям FK?
Из поиска в Интернете было намечено, что для их устранения может потребоваться повторное использование таблиц. Во-первых, я не уверен на 100%, что означает пересыщение, я предполагаю, что он говорит об перезагрузке столбца с автогенерированным идентификатором.
Я заметил при добавлении новых записей в Country
или Address
, что они используют int, увеличивающуюся от последней записи (которая теперь ушла), например. start from id of 400
Как я могу добавить данные?
Вы уверены, что вы добавляете * новые * идентификационные номера для страны и адреса? – thomaspaulb 2010-12-01 00:07:21