Подтвердить что ты не робот

Reset автоинкремент в Microsoft SQL Server 2008 R2

Я создал первичный ключ для автоинкремента.

  • Я добавил две строки: ID=1, ID=2
  • Я удалил эти две строки.
  • Я добавил новую строку, но новый идентификатор строки: ID=3

Как я могу reset или перезапустить автоинкремент до 1?

4b9b3361

Ответ 1

Если вы используете команду DBCC CHECKIDENT:

 DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1);

Но использовать с CAUTION! - это будет reset IDENTITY до 1 - так что ваши следующие вставки получат значения 1, затем 2, а затем 3 → , у вас будет столкновение с вашим ранее существовавшим значением 3 здесь!

IDENTITY просто отображает номера в последовательном порядке - он НЕ, чтобы убедиться, что конфликтов нет! Если у вас уже есть значения - сделайте не возврат к более низкому значению!

Ответ 2

Я использую SQL Server 2012, а DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1) вызывает значение 2 в самой следующей вставке.

Итак, для SQL Server 2012 измените значение 1 на 0, чтобы получить значение 1 для следующей записи:

DBCC CHECKIDENT ("YourTableNameHere", RESEED, 0);  -- value will be 1 for the next record insert