У меня есть база данных SQL в MS SQL Server 2008 R2
В целях разработки я пытаюсь очистить все данные, а затем добавить свои фиктивные данные.
После некоторой борьбы с FK Constraints и использованием
ALTER TABLE ? NOCHECK CONSTRAINT ALL
DELETE FROM ?
ALTER TABLE ? CHECK CONSTRAINT ALL
Мне удалось очистить данные.
Теперь я хочу добавить несколько фиктивных данных.
Допустим, у нас есть 3 таблицы: Country
, Address
и Country_Address
(ссылка на страну).
Я добавил данные в Country
и Address
Но когда я пытаюсь добавить к Country_Address
:
Строка не обновлена.
Данные в строке 1 не были зафиксированы.
Источник ошибки: поставщик данных .Net SqlClient.
Сообщение об ошибке: оператор INSERT конфликтует с ограничением FOREIGN KEY
Я не совсем уверен, почему это происходит, потому что все, что я делаю, это связываю недавно добавленную страну и адреса - которые оба существуют - так почему это противоречит ограничению FK?
Из поиска в Google намекнул, что для исправления ситуации может потребоваться повторное заполнение таблиц. Во-первых, я не уверен на 100%, что означает повторное заполнение, я предполагаю, что речь идет о сбросе столбца с автоматически сгенерированным идентификатором.
Я заметил, что при добавлении новых записей в Country
или Address
они используют int, увеличенное с последней записи (которая теперь отсутствует), например, начать с идентификатора 400
Как я могу добавить данные в?