SQL Server 2005 Identity Specification не учитывает начальное значение

StackOverflow https://stackoverflow.com/questions/1639450

Вопрос

Я нахожусь в процессе преобразования базы данных Access в SQL Server 2005. Я успешно перенес данные и исходную схему с использованием SSMA, и сейчас я нахожусь в процессе нормализации базы данных, что требует от меня добавления нескольких уникальных идентификаторов.

Некоторые из ранее созданных нами столбцов были созданы с использованием типа данных AutoNumber. Однако мне нужно создать бессмысленные, но уникальные идентификаторы для других данных, поэтому я использую тип данных int со свойством Identity Specification. Я сею в «101», чтобы сохранить эти данные выше диапазона, который в настоящее время существует для данных, которые уже имеют уникальные идентификаторы, поскольку они в конечном итоге будут находиться в одной таблице.

Моя проблема в том, что когда я создаю новый тип int со спецификацией идентичности со начальным значением '101' и шагом '1', числа начинаются с '1'. Я попытался перезарядить с помощью:

USE dbMyDatabase
DBCC checkident(tblMyTable, reseed, 101)

безрезультатно. Любые предложения будут ценны. Заранее спасибо!

Это было полезно?

Решение

Решением было создать столбец с помощью SQL-запроса вручную. Добавление его через " Новый столбец ... " опция выдает неправильные результаты каждый раз. Теперь, когда я добавил его с помощью

USE dbMyDatabase
ALTER TABLE tblMyTable 
ADD fldID INT IDENTITY(101,1)

это работает просто отлично.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top