SQL Server 2005 Identity Specification не учитывает начальное значение - PullRequest
0 голосов
/ 28 октября 2009

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

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

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

USE dbMyDatabase
DBCC checkident(tblMyTable, reseed, 101)

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

1 Ответ

1 голос
/ 28 октября 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...