Столбец идентификации начинается с указанного начального числа - PullRequest
0 голосов
/ 30 января 2019

Обращаясь к приложенному ниже изображению из SQL Server Management Studio, у меня уже есть таблица с записями, а последняя запись имеет id of 7.Я хочу, чтобы этот столбец автоматически увеличивался в качестве первичного ключа (как это было до некоторой неизвестной переполнения), очевидно, со следующей записью, имеющей id of 8.

enter image description here

Будет ли указание начального числа как 7 означать, что следующей записи будет присвоен идентификатор 7?Или это будет (7 + incrementValue), дающий 8?

Ответы [ 3 ]

0 голосов
/ 30 января 2019

Я думаю, что SQL Server заставит вас воссоздать таблицу с новым идентификатором, и вам придется сдвинуть ваши данные в эту таблицу, где они будут начинаться с 1 и увеличиваться на 1.

0 голосов
/ 30 января 2019

Предположим, у вас большая таблица, и вам нужно запросить максимальный идентификатор

Просто сделайте это,

DBCC CHECKIDENT ('TableName', RESEED, 1) 
0 голосов
/ 30 января 2019

SQL Server достаточно интеллектуален, любое значение от 1 до 8 будет начинаться только с 8.

Например, если вы задаете Identity Seed как 1 и вставляете запись в таблицу, SQL будет вычислять новый Identity только как 8.

Если вы укажете> 8 втолько в этом случае будет учитываться начальное значение.

Примечание: Когда вы используете SSMS для достижения этой цели, внутренняя таблица будет удалена, и будет создана новая таблица с надлежащей идентификацией.

Если вы хотите сделать это с помощью SQL-запроса, вы должны следовать инструкции, указанной в этом ответе

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