Почему первичный ключ SQL server пропускает номер
Я использую Sql Server 2012, и я создаю таблицу и сохраняю id в качестве первичного ключа, а также спецификацию идентификации "Да" для автоматического приращения 1.
но проблема в том, что номер пропуска таблицы
например, 1,2,3,4,5,6,7,8,9,10,11,12
и через некоторое время это пропущенное число и даст 101,102,103 и так далее
почему?
Что я уже пробовал:
Я использую Visual Studio 2013 для разработки веб-сайта
ZurdoDev
Вероятно, вы удалили записи.
PIEBALDconsult
Почему тебя это волнует? Идентификаторы сами по себе бессмысленны.
Member 10028394
я работаю на логистическом сайте, где идентификатор отгрузки генерируется по первичному ключу с одним шагом, если в нем отсутствует номер, чем серия идентификаторов отгрузки беспокоит. Поэтому я хочу, чтобы не пропущен (пропущен) ни один номер отгрузки.
CHill60
Вы можете найти Создание последовательности (Transact-SQL) | Microsoft Docs[^] полезный. Не считайте строки таблицы и не добавляйте 1 - Что делать, если два человека пытаются добавить запись одновременно? В конечном итоге вы получите дубликаты идентификаторов отгрузки, и это вызовет проблему. В реальном мире нет никаких требований к тому, чтобы идентификаторы отгрузки были последовательными. Если вы хотите, чтобы записи действительно имели последовательные номера, то вам нужно будет использовать последовательность, а также предотвратить удаление из таблицы (вместо этого отметьте записи как "не активные" или что-то в этом роде)