повторное заполнение / сброс столбца идентификаторов после удаления данных в SQL Server 2008 - PullRequest
1 голос
/ 08 ноября 2011

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

Я добавляю десять элементов, так что последний добавленный элемент будет иметь идентификатор 10, когда я удаляю элементы из базы данных, идентификатор должен сброситься, например, обратно до 0, но он все равно отсчитывается, начинаяиз 11 .. это не совсем соответствует, я использую Entity Framework для добавления / удаления материала из базы данных, поэтому мой вопрос, есть ли в любом случае это исправить?может быть через запросы / запросы Entity?

Ответы [ 2 ]

3 голосов
/ 08 ноября 2011

Это правильное поведение столбца идентификаторов. Значение будет продолжать увеличиваться. Если вы добавите 11 элементов, начиная с 1, следующим будет 12. Если вы удалите первые 10, вы не захотите, чтобы значение идентификатора начиналось с одного, поскольку у вас будет конфликт с 11-м значением. Если вы хотите повторно заполнить таблицу, вы можете использовать DBCC CHECKIDENT

Усечение таблицы также сбрасывает ее значение идентичности.

0 голосов
/ 22 февраля 2013

cmd.CommandText = string.Format ("DBCC CHECKIDENT ({0}, RESEED, 0)", YourTableName);

счастлив, начиная с нуля Id!

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